为了解决这个问题,我决定重新安装 Windows Server 系统。这里我选择了 Windows Server 2022 版本。...Windows Server 2022 是微软最新发布的服务器操作系统版本,它提供了强大的性能、安全性和灵活性,是构建稳定服务器环境的理想选择。...在本文中,我将使用 PE 盘安装 Windows Server 2022 系统,PE 盘采用的微PE工具制作。...之后进入PE系统界面,选择GCI备份还原工具,系统文件选择刚刚下载的Windows server 2022镜像文件,之后会让你选择具体的Windows Server版本,博主选择是Datacenter版本...pe系统没有截图工具,所以没有图啦,不过操作很简单的。 再之后就是设置Windows Server 2022系统了,后续博主会有文章补充。 参考 微PE工具箱 Windows server 入门
但是这样对U盘的传输性能以及容量提出了较大的要求,所以Windows预安装系统(Windows Preinstallation Environment)应运而生,它在原有操作系统的基础上简化了许多内容,...笔记本电脑,称为A; 待安装系统的主机/笔记本电脑,称为B; 一个内存在4G以上的空U盘(win10则需要8G,建议直接整个16G一劳永逸),如果有数据请在其他地方备份好; 设备A的部分 自行下载需要的windows...我选择的是“Windows 7 Home Premium with Service Pack 1 (x64) - DVD (Chinese-Simplified)”,点开详细信息里会有一串ed2k:开头的代码...image.png 防止后续装完系统后卡在启动界面 在安装win7系统时,如果不开启csm兼容模式,则后续安装完系统后会一直卡在”启动windows界面或安装程序正在更新注册表设置”界面,直到安装了win7...(上面设置了U盘优先级,不拔的话重启还是会打开刚才的PE系统) 之后啥也不用干,等待开机完成即可!
PE文件的全称是Portable Executable,意为可移植的可执行的文件,常见的EXE、DLL、OCX、SYS、COM都是PE文件,PE文件是微软Windows操作系统上的程序文件(可能是间接被执行...EXE文件格式: DOS:MZ格式 WIndows 3.0:NE(New Executable)、16位Windows可执行文件格式 为什么要重点学习这种文件格式呢?...了解软件加密和加壳的思想,能够PJ相关的PE文件 它是您熟悉Windows操作系统的第一步,包括EXE程序怎么映射到内存,DLL怎么导入等 软件逆向工程的基本思想与PE文件格式息息相关 如果您想成为一名黑客...2.寻找函数MessageBoxA的地址 user32.dll是Windows用户界面相关应用程序接口,用于包括Windows处理、基本用户界面等特性。...病毒原理、C++实现文件加解密及OllyDbg逆向 [系统安全] 八.Windows漏洞利用之CVE-2019-0708复现及蓝屏攻击 [系统安全] 九.Windows漏洞利用之MS08-067远程代码执行漏洞复现及深度提权
作者前文介绍了PE文件格式,熟悉各种PE编辑查看工具,针对目标EXE程序新增对话框等;这篇文章将介绍Windows PE病毒, 包括PE病毒原理、分类及感染方式详解,并通过案例进行介绍。...PE文件的全称是Portable Executable,意为可移植的可执行的文件,常见的EXE、DLL、OCX、SYS、COM都是PE文件,PE文件是微软Windows操作系统上的程序文件(可能是间接被执行...二.PE病毒概念 什么是PE病毒? PE病毒又称为Win32 PE病毒,或称为Win32病毒。它指所有感染Windows下PE文件格式文件的病毒。...因为它通常采用Win32汇编编写,而且格式为PE文件,因此而得名。PE病毒是以Windows PE程序为载体,能寄生于PE文件或Windows系统的病毒程序。...文件逆向基础知识(PE解析、PE编辑工具和PE修改) [系统安全] 十七.Windows PE病毒概念、分类及感染方式详解 2020年8月18新开的“娜璋AI安全之家”,主要围绕Python大数据分析
制作winpe的软件很多,我自己已经习惯用WimBuilder2,网上制作Win11PE的资料很少很少,这个完全是我摸索出来的,分享给有缘人。...这样来调整: 把config目录的SYSTEM和DEFAULT注册表挂出来进行修改,步骤如下 先把鼠标放到HKEY_LOCAL_MACHINE,然后"文件 → 加载配置单元" → 选择C:\boottmp\Windows..."HKEY_LOCAL_MACHINE\aaa\Keyboard Layout\Preload" /v "2" /d 00000804 /t REG_SZ /f 如法炮制,再把C:\boottmp\Windows...桌面背景图位置有2处 Program Files\WinXShell\ Windows\Web\ 一般来说从内存加载,需要的内存大小=WinPE.ISO文件本身的大小+跑WinPE所需的内存大小,文件本身超过...,鲜有Win11PE。
该技术能够劫持原始PE文件的入口地址,在PE程序运行之前执行ShellCode反弹,执行后挂入后台并继续运行原始程序,实现了一种隐蔽的Shell访问。而我把这种技术叫做字节注入反弹。...// 将ShellCode写出到PE程序的特定位置 // 参数1: 指定PE路径 参数2: 指定文件中的偏移(十进制) 参数3: 指定ShellCode文件 void WritePEShellCode(...文件中我们需要手动分析寻找空余块,并在注入成功后还需要自行修正PE文件内的入口地址等,这种方式适合于对PE结构非常熟悉的人可以,但也要花费一些精力去寻找分析,如下代码则是实现了自动化注入功能,该代码中FindSpace...#include #include #include // \xb8\x90\x90\x90\x90 => mov eax,90909090...#include #include #include #define VIRUSFLAGS 0xCCCC // 向指定文件写入感染标志
PE知识复习之PE合并节 一丶简介 根据上一讲.我们为PE新增了一个节. 并且属性了各个成员中的相互配合....以前我们讲过PE扩大一个节怎么做. 合并节跟扩大节类似. 只不过一个是扩大. 一个是合并了....合并节的步骤. 1.修改文件头节表个数 2.修改节表中的属性 节.sIzeofRawData 节数据对齐后的大小. 3.修改扩展头中PE镜像大小 SizeofImage 4.被合并的节以...最后一个节表以0填充即可. 3.修改扩展头的PE镜像大小. SizeofImage ? 我们上一讲新增了一个节.所以映像大小为0x1E000.
PE知识复习之PE新增节 一丶为什么新增节.以及新增节的步骤 例如前几讲.我们的PE文件在空白区可以添加代码.但是这样是由一个弊端的.因为你的空白区节属性可能是只读的不能执行...我们新增的节.自己需要在PE文件添加一段节数据.数据的大小按照文件对齐添加. 并且填写到这个成员中. 6.修改扩展头的PE镜像大小. sizeofImage....这个成员才是关键.如果不按照内存对齐修改镜像大小.那么我们的节就不会映射到内存中.或者PE文件根本无法执行....二丶根据新增节步骤.实战手工添加一个节. 1.添加一个节表 添加节表的时候.需要在最后一个节后面添加.随便哪一个PE文件举例 ? ...跳转过去之后发现就是我们刚才填写FFFF的数据.已经成功映射了.至此我们就为这个PE文件新增了一个节.
PE知识复习之PE扩大节 一丶为什么扩大节 上面我们讲了,空白区添加我们的代码.但是有的时候.我们的空白区不够了怎么办.所以需要进行扩大节. ...并且在PE文件中添加0数据进行填充即可....Characteristics; //节的属性 } IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER; 二丶扩大节实战以及注意问题 PE...还要修改扩展头中的 SizeofImage(内存PE镜像大小) 三丶扩大节实战 1.添加数据 随便找一个PE文件.在最后文件偏移处添加数据....但是注意,修改之后并不能直接查看.因为PE没法运行.我们必须修改扩展头中的sizeofImage属性.这样我们的内存镜像大小才是真正的大小.
该技术能够劫持原始PE文件的入口地址,在PE程序运行之前执行ShellCode反弹,执行后挂入后台并继续运行原始程序,实现了一种隐蔽的Shell访问。而我把这种技术叫做字节注入反弹。...// 将ShellCode写出到PE程序的特定位置// 参数1: 指定PE路径 参数2: 指定文件中的偏移(十进制) 参数3: 指定ShellCode文件void WritePEShellCode(const...文件中我们需要手动分析寻找空余块,并在注入成功后还需要自行修正PE文件内的入口地址等,这种方式适合于对PE结构非常熟悉的人可以,但也要花费一些精力去寻找分析,如下代码则是实现了自动化注入功能,该代码中FindSpace...#include #include #include // \xb8\x90\x90\x90\x90 => mov eax,90909090/...#include #include #include #define VIRUSFLAGS 0xCCCC// 向指定文件写入感染标志BOOL
5.鼠标右击【PE工具箱V2.3】压缩包选择【解压到 PE工具箱V2.3】。 6.打开安装包解压后的文件夹鼠标右击【PE工具箱V2.3】选择【以管理员身份运行】。...7.点击【U盘图标】安装PE到U盘。 8.点击【立即安装进U盘】确认U盘卷标名称是否为自己插入的U盘名称。 9.点击【开始制作】。...10.PE正在制作中……大约需要3分钟 11.制作完成点击【完成安装】。 12.PE系统已经成功安装进U盘此时会看到U盘位为空并且多了一个【EFI】的磁盘。...3.进入PE系统后格式化【系统盘】 ①双击【此电脑】。 ②鼠标右击【C盘】选择【格式化】。 ③点击【开始】。 ④点击【确定】。 ⑤格式化完成点击【确定】。...4.双击启动桌面【Windows安装器】图标。 5.在选择Windows安装文件的位置处点击【搜索】选择U盘文件夹内的【windows11.iso】文件点击【打开】。
PE知识复习之PE的导入表 一丶简介 上一讲讲解了导出表. 也就是一个PE文件给别人使用的时候.导出的函数 函数的地址 函数名称 序号 等等. ...一个进程是一组PE文件构成的. PE文件需要依赖那些模块.以及依赖这些模块中的那些函数.这个就是导入表需要做的. 确定PE依赖那个模块. 确定PE依赖的那个函数. 以及确定函数地址....PE加载前加载后的区别. 一样是一样的.但是需要分清 PE加载前.还有PE加载后.如果加载前,那么IAT跟INT一样.都可以找到依赖的函数名称....PE加载后如下图: ? IAT表保存的就是函数地址了. 从导入表中找到IAT表. ? IAT表的RVA 偏移为 0x1A098 VA == 41A098 ?...PE加载后INT 表同上. IAT表变成了存储函数地址的地址表了. 2. Name 民称表. 直接指向DLL名称文件名.
0, 0, 0); HANDLE lpBase = MapViewOfFile(hMap, FILE_MAP_READ | FILE_SHARE_WRITE, 0, 0, 0); // 找到PE...0, 0, 0); HANDLE lpBase = MapViewOfFile(hMap, FILE_MAP_READ | FILE_SHARE_WRITE, 0, 0, 0); // 定位PE
打开PE文件映射: 在读取PE结构之前,首先要做的就是打开PE文件到内存,这里打开文件我们使用了CreateFile()函数该函数可以打开文件并返回文件句柄,接着使用CreateFileMapping(...#include #include #include #pragma comment(lib,"Imagehlp.lib") /...结构,然后判断其是否符合PE文件规范即可,这里需要注意32位于64位PE结构所使用的的结构定义略有不同,代码中已经对其进行了区分....#include #include #include #pragma comment(lib,"Imagehlp.lib") /...#include #include #include #pragma comment(lib,"Imagehlp.lib") /
PE格式是 Windows下最常用的可执行文件格式,理解PE文件格式不仅可以了解操作系统的加载流程,还可以更好的理解操作系统对进程和内存相关的管理知识,而有些技术必须建立在了解PE文件格式的基础上,如文件加密与解密...Windows NT 系统中可执行文件使用微软设计的新的文件格式,也就是至今还在使用的PE格式,PE文件的基本结构如下图所示:图片在PE文件中,代码,已初始化的数据,资源和重定位信息等数据被按照属性分类放到不同的...文件的时候,Windows 并不在一开始就将整个文件读入内存,PE装载器在装载的时候仅仅建立好虚拟地址和PE文件之间的映射关系,只有真正执行到某个内存页中的指令或者访问页中的数据时,这个页面才会被从磁盘提交到内存中...对于磁盘上的PE文件来说,它无法得知这些导入函数会在的那个内存的那个地方出现,只有当PE文件被装入内存时,Windows装载器才将DLL载入,并调用导入函数指令,和函数实际所处的地址联系起来。...实际上当PE文件被装载入内存后,内存中的映像会被Windows修正为如下图所示的样子:图片其中由FristThunk字段指向的那个数组中的每个双字都被替换成了真正的函数入口地址,之所以在PE文件中使用两份
PE格式是 Windows下最常用的可执行文件格式,理解PE文件格式不仅可以了解操作系统的加载流程,还可以更好的理解操作系统对进程和内存相关的管理知识,而有些技术必须建立在了解PE文件格式的基础上,如文件加密与解密...Windows NT 系统中可执行文件使用微软设计的新的文件格式,也就是至今还在使用的PE格式,PE文件的基本结构如下图所示: 在PE文件中,代码,已初始化的数据,资源和重定位信息等数据被按照属性分类放到不同的...文件的时候,Windows 并不在一开始就将整个文件读入内存,PE装载器在装载的时候仅仅建立好虚拟地址和PE文件之间的映射关系,只有真正执行到某个内存页中的指令或者访问页中的数据时,这个页面才会被从磁盘提交到内存中...对于磁盘上的PE文件来说,它无法得知这些导入函数会在的那个内存的那个地方出现,只有当PE文件被装入内存时,Windows装载器才将DLL载入,并调用导入函数指令,和函数实际所处的地址联系起来。...实际上当PE文件被装载入内存后,内存中的映像会被Windows修正为如下图所示的样子: 其中由FristThunk字段指向的那个数组中的每个双字都被替换成了真正的函数入口地址,之所以在PE文件中使用两份
PAGE_READWRITE, 0, 0, 0); HANDLE lpBase = MapViewOfFile(hMap, FILE_MAP_READ | FILE_SHARE_WRITE, 0, 0, 0); // 找到PE...PAGE_READWRITE, 0, 0, 0); HANDLE lpBase = MapViewOfFile(hMap, FILE_MAP_READ | FILE_SHARE_WRITE, 0, 0, 0); // 定位PE
PE知识复习之PE的导出表 一丶简介 在说明PE导出表之前.我们要理解.一个PE可执行程序.是由一个文件组成的吗....答案: 不是.是由很多PE文件组成.DLL也是PE文件.如果我们PE文件运行.那么就需要依赖DLL.系统DLL就是Kerner32.dll user32.dll等等.这些都是PE文件....什么是导出表: 导出表就是当前的PE文件提供了那些函数.给别人用. 举个例子: PE文件相当于一个饭店.那么菜单就是导出表....所以我们需要转换为FOA 去PE文件中查看. RVA 判断在那个节....如果在内存中.我们直接RVA + 当前PE的ImageBase就可以看到函数导出的名称了.不过我们现在算一下.
PE知识复习之PE的重定位表 一丶何为重定位 重定位的意思就是修正偏移的意思. 如一个地址位 0x401234 ,Imagebase = 0x400000 ....首先我们知道.一个EXE文件.会调用很多DLL(PE) 有多个PE文件组成. exe文件启动的基址 (ImageBase) 是0x40000. 假设我们调用三个DLL A B C....但是我们知道.PE文件中有很多RVA .RVA 是相对于ImageBase的偏移进行存放的. 如果PE文件中都是 RVA 那就好办了. 但是不一定呀....如一下代码所示: #include #include #include int g_Value; int main() { g_Value...所以修复的位置是 0x116b0的位置. 0x116b0 + 当前PE文件的ImageBase就是要进行重定位的位置 当前PE的Imagebase为0x400000 重定位地方为 0x4116b0位置
PE知识复习之PE的节表 一丶节表信息,PE两种状态.以及重要两个成员解析. 确定节表位置: DOS + NT头下面就是节表. ...Characteristics; //节的属性 } IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER; 节表重要成员都标红了.我们知道.PE...以及文件展开后.节数据在文件中的那个偏移位置. 1.内存中节开始的位置 我们分别以PE两种状态.来加深一下.在内存中跟文件中节数据起始位置....这也解释了PE在内存中展开跟在文件中是不一样的. 也加深了节表中 VirtualAddress成员 以及 PointerToRawData成员了.
领取专属 10元无门槛券
手把手带您无忧上云