❶ 进入pe模式把c盘重要的文件拷贝到f盘,装完系统后文件不见了怎么找
F盘点击右键---属性---文件系统,看文件系统是NTFS还是FAT32,如果是NTFS,下载 Everything文件搜索软件,在搜索框内输入重要文件的文件名,找到后右键---打开路径
❷ 用PE系统进WIN7拷贝桌面的重要文件夹后找不到文件夹了怎么办
1、打开桌面上的计算机,在地址栏上输入C:Users个人用户文件夹,按回车键;
2、此时可以看到桌面文件夹。
❸ 用pe系统进去拷贝桌面上的文件 可是c盘里找不到桌面了 怎么办急求
首先,你是进PE系统了。不要慌,找到目录路径就行了!没有格式化C盘的前提下,都是可以找到的!
正常来说,原系统的文件就在这地方!
❹ 用PE从WIN7(32位)系统拷贝的文件,再用PE放到win10(64位)里, 正常进WIN10系统找不到拷贝的文件
1、我遇到了同样的问题,在win10PE下,正规的复制或者用磁盘管理工具diskgenius复制,在PE下看回着都合适,单重启答都就不见了;
2、重启后,我认真观察桌面右下角的系统提示,提示意思是磁盘错误,然后我根据提示点了下一步,然后再重启,完蛋,系统进不去;我的环境是256SSD+1TB
3、于是,我重新格式化了我的256分区,并将2K对齐改成4K对齐,然后重装了系统,再在PE下复制,发现这次合适了,希望对你有用。
❺ pe系统拷贝文件会消失
pe系统拷贝文件会消失()微软出品Windows 7系统之后,同时出了一种叫做Windows PE的小型操作系统,用于安装、部署和修复Windows系统。只是,Windows PE系统虽小,功能却很齐全,还能从系统底层启动,绕过系统安全验证,就让人有些担心了。
电脑
Windows PE系统会不会造成泄密?当然会了。以前人们装Windows 系统都用DOS系统做引导,从系统底层启动,会造成泄密。只要Windows 系统设置了密码,就可以通过DOS系统绕过密码,直接把硬盘里的文件拷贝出来,算是拯救数据,当然也就泄了电脑 密。Windows PE系统也是如此,可以设置硬盘,使用来自网络或本地驱动器的应用或脚本安装Windows,捕获和应用Windows镜像,在Windows操作系统未运行时,进行修改,设置自动恢复工具,从无法启动的设备中恢复数据,添加自己的自定义shell或GUI来使此类任务自动化等等。其中重要的一条就是,从无法启动的设备中恢复数据。
如果Windows设置了登录密码,有人想进入系统,没有密码,就用Windows PE进入,很轻松就能获取系统信息,获取硬盘内的文件。而Windows系统会认为自己不能启动,用户要用Windows PE来恢复数据呢!
一般电脑不会判断用户是谁,只会死板地执行命令。即便涉及泄密操作,电脑也会认为用户在维修电脑,在恢复数据。那么,Windows密码还有什么用?用Windows PE轻松绕过,简直不费吹灰之力。况且,Windows 电脑PE还支持U盘启动,进入之后,也能识别U盘,运行什么程序很方便。于是,一些人做了集成Windows PE的启动工具盘,既能进入DOS系统,又能进入Windows PE系统,还能集成很多小工具,诸如分区工具、镜像恢复工具、内存、硬盘诊断工具,密码破解工具等等,简直一盘在手,万事无忧。
如此一来,用了集成Windows PE的工具盘就会轻松窃取用户数据,而让用户防不胜防了。说到底,Windows PE就是一款维修人员的利器,也是泄密的工具。
❻ 在PE里面复制的文件,怎么不见了
你进PE系统考完文件后没有正常关机吧。是强行关机了吧。造成你复制的文件没有储存
❼ 从pe拷贝文件找不到
从pe拷贝文件找不到(从pe拷贝文件找不到文件)在解析PE中,使用二级指针了,,在将PE加在到内存拉伸,拷贝section使用出现了问题,导致PE加载到内存,保存为PE文件的时候,无法运行.
PE加载到还原为文件PE加载到内存到还原为文件的过程
下面的一段代码,是有问题的.我们先看看代码
PIMAGE_SECTION_HEADER temp_section_header = section_header;for (int i = 0; i file_header->NumberOfSections; i++){ //每次都是获取第一个节的内存地址void* des = (void*)((unsigned long)temp_buffer + temp_section_header->VirtualAddress); void* src = (void*)((unsigned long)ptemp +(temp_section_header + i)->PointerToRawData); // //每次都是一个节的大小memcpy(des, src, temp_section_header->SizeOfRawData); }
在循环内的3行代码,有两个代码是问题的(第一行和第三行).
正确的代码PIMAGE_SECTION_HEADER temp_section_header = section_header;for (int i = 0; i file_header->NumberOfSections; i++){PIMAGE_SECTION_HEADER psection = temp_section_header + i; //这里void* des = (void*)((unsigned long)temp_buffer + psection->VirtualAddress); //temp_section_header + 1,移动多少呢?void* src = (void*)((unsigned long)ptemp + psection->PointerToRawData); memcpy(des, src, psection->SizeOfRawData);}拉伸
拉伸:读取section(节)在文件中的PointerToRawData(在文件中的偏移量),大小为SizeOfRawData(文件中对齐的长度),转为在内存上布局.
//将pe文件(在内存中,还是文件布局)转换为pe在内存布局unsigned long buffer_to_image(char** file_buffer, char** image_buffer){PIMAGE_DOS_HEADER dos_header = NULL;PIMAGE_NT_HEADERS nt_header = NULL;PIMAGE_FILE_HEADER file_header = NULL;PIMAGE_OPTIONAL_HEADER optional_header = NULL;PIMAGE_SECTION_HEADER section_header = NULL;char* ptemp = *file_buffer;void* temp_buffer = NULL;if (file_buffer == NULL){printf("file_buff is null ");return 0;}if (*(short*)ptemp != IMAGE_DOS_SIGNATURE){printf("%08x ", *(short*)ptemp);//校验是否为dos头 pe开头为mzreturn 0;}dos_header = (PIMAGE_DOS_HEADER)ptemp;if (*(short*)((unsigned long)ptemp + dos_header->e_lfanew) != IMAGE_NT_SIGNATURE){//校验nt头是否有pe标志 PEreturn 0;}nt_header = (PIMAGE_NT_HEADERS)((unsigned long)ptemp + dos_header->e_lfanew);file_header = (PIMAGE_FILE_HEADER)((unsigned long)nt_header + 4);optional_header = (PIMAGE_OPTIONAL_HEADER)((unsigned long)file_header + IMAGE_SIZEOF_FILE_HEADER);section_header = (PIMAGE_SECTION_HEADER)((unsigned long)optional_header + 电脑 file_header->SizeOfOptionalHeader);//分配空间temp_buffer = calloc(1, optional_header->SizeOfImage);if (!temp_buffer){temp_buffer = NULL;return 0;}//从dos头开始拷贝,拷贝首部+块表的大小,到内存中memcpy(temp_buffer, dos_header, optional_header->SizeOfHeaders); //SizeOfHeaders为首部及块表(首部+块表)的大小PIMAGE_SECTION_HEADER temp_section_header = section_header;for (int i = 0; i file_header->NumberOfSections; i++){PIMAGE_SECTION_HEADER psection = temp_section_header + i;void* des = (void*)((unsigned long)temp_buffer + psection->VirtualAddress);void* src = (void*)((unsigned long)ptemp + psection->PointerToRawData); memcpy(des, src, psection->SizeOfRawData);}*image_buffer = temp_buffer;return optional_header->SizeOfImage; //SizeOfImage在内存中整个PE映像的大小}还原
//从内存还原为文件int recovery_file(void** image_buffer, char* file, int size){PIMAGE_DOS_HEADER 电脑 dos_header = NULL;PIMAGE_NT_HEADERS nt_header = NULL;PIMAGE_FILE_HEADER file_header = NULL;PIMAGE_OPTIONAL_HEADER optional_header = NULL;PIMAGE_SECTION_HEADER section_header = NULL;char* ptemp = *image_buffer;dos_header = (PIMAGE_DOS_HEADER)ptemp;if (*(short*)((unsigned long)ptemp + dos_header->e_lfanew) != IMAGE_NT_SIGNATURE){//校验nt头是否有pe标志 PEreturn 0;}nt_header = (PIMAGE_NT_HEADERS)((unsigned long)ptemp + dos_header->e_lfanew);file_header = (PIMAGE_FILE_HEADER)((unsigned long)nt_header + 4);optional_header = (PIMAGE_OPTIONAL_HEADER)((unsigned long)file_header + IMAGE_SIZEOF_FILE_HEADER);section_header = (PIMAGE_SECTION_HEADER)((unsigned long)optional_header + file_header->SizeOfOptionalHeader);char* file_buffer = calloc(1, size);memcpy(file_buffer, dos_header, optional_header->SizeOfHeaders);PIMAGE_SECTION_HEADER temp_section_header = section_header;for (int 电脑 i = 0; i file_header->NumberOfSections; i++){PIMAGE_SECTION_HEADER psection = temp_section_header + i;void* des = (void*)((unsigned long)file_buffer + psection->PointerToRawData);void* src = (void*)((unsigned long)ptemp + psection->VirtualAddress); memcpy(des, src, psection->SizeOfRawData);}FILE* fp = fopen(file, "wb+");if (fp != NULL){fwrite((void*)file_buffer, size, 1, fp);}fclose(fp);}
个人能力有限,如果您发现有什么不对,请私信我
如果您觉得对您有用的话,可以点个赞或者加个关注,欢迎大家一起进行技术交流