输入表

Windows Ring3层注入——修改PE输入表(导入表)注入(一)

谁说我不能喝 提交于 2020-01-17 03:59:29
Windows Ring3层注入——修改PE输入表(导入表)注入(一) PE文件简单介绍 PE文件相关名词解释 PE文件磁盘与内存映像结构图 输入表介绍 输入表结构 输入表注入原理 PE输入表注入的两种方法 静态修改PE文件法: 进程创建期修改PE输入表法: 输入表注入核心代码示例 PE文件简单介绍 PE(Portable Execute)文件 是Windows下可执行文件的总称,常见的有 DLL,EXE,OCX,SYS 等,事实上,一个文件是否是PE文件与其扩展名无关, PE文件可以是任何扩展名 。 PE文件的结构一般来说如下图所示:从起始位置开始依次是 DOS头,PE文件头,块表(节表)以及具体的块(节) 。 PE文件相关名词解释 虚拟空间 :PE文件被系统加载器映射到 内存中 ,每个程序都有自己的虚拟空间。 虚拟地址(VA) :虚拟空间的 内存地址 。 相对虚拟地址(RVA) :内存中相对于PE文件载入地址的偏移相对地址(也称 偏移量 )。 模块(Module) :PE文件映射到内存中的版本被称为 模块(Module) 。(GetModuleHandle) 模块句柄 :映射文件的 起始地址 。 基地址(ImageBase) :初始内存起始地址,跟模块句柄一样(Windows CE不成立)。 区块间隙 :PE文件头中,FileAlignment定义了 磁盘区块 的 对齐值