
PE文件结构
文章平均质量分 70
逆向学习之PE结构,掌握可执行文件的运行原理,为后面的逆向学习打下基础
Henry404s
活到老学到老
展开
-
PE结构学习(6)_重定位表
当一个PE文件执行时会加载多个PE文件,而每个被加载的PE文件都有它在内存展开后的起始地址, 这个地址是由此PE文件的imagebase(基址)所决定的若前面的PE文件占用了后面PE文件的地址, 则后面的PE文件需要重新设置基址, 然后通过重定位表对所有的重定位信息进行修改,而所有的重定位信息都存储在重定位表中通常一个PE文件会有多张重定位表。...原创 2022-08-07 20:29:37 · 287 阅读 · 0 评论 -
PE结构学习(5)_导入表与导出表
代码重用机制提供了重用代码的动态链接库, 它会向调用者说明库里的哪些函数是可以被别人使用的, 而这些说明的信息便组成了导出表简单来说,PE文件提供一些函数给其他PE文件调用,这些函数都记录在导出表里面任何PE文件还会调用哪些PE文件都会记录在导入表里。因为PE文件可能要依赖多个模块,所以通常一个PE文件会有多张导入表。...原创 2022-08-07 20:17:05 · 1508 阅读 · 0 评论 -
PE结构学习(4)_节的操作
对文件的节表进行扩大,为了方便操作,只需对最后一个节进行扩大OK了此处演示扩大1000(16进制)个字节的操作扩大节扩出来的空白区还需要考虑节的权限问题,若扩大出来的节没有执行代码的权限,那么还要修改整个节的权限属性,节的权限属性由节表结构体的最后一个成员Characteristics决定因为新增的节可以自己设置权限,所以相比扩大节而言还是方便挺多的新增节有一个前提条件,最后一个节后面至少要有40个字节的空白区若前提条件不满足, 那只能合并节,即将多个节合并成一个节,多余的空间就可以用于新增节。...原创 2022-08-07 19:30:38 · 1390 阅读 · 0 评论 -
PE结构学习(3)_RVA转换成FOA
PE文件有两种状态, 一种是在文件中的状态,另外一种是在内存中展开若我们运行了一个PE文件且知道了某个全局变量的地址, 那么该如何通过这个全局变量地址来获得此变量在文件状态下的地址是什么呢?(relative Virtual Address), 又称为相对虚拟偏移,简单来说就是在内存状态下的偏移地址(File Ofseet Address), 又称为文件偏移地址, 就是在文件状态下的偏移地址下图是PE文件在文件对齐和内存对齐状态下的映像结构图这里文件对齐值是200,内存对齐的值是1000。...原创 2022-08-07 16:38:42 · 870 阅读 · 1 评论 -
PE结构学习(2)_PE结构的组成
由下图可得,PE文件主要分为四部分,分别有DOS部分、PE文件头、节表以及节数据。原创 2022-08-07 13:37:56 · 374 阅读 · 0 评论 -
PE结构学习(1)_认识PE文件
可执行文件在不同的操作系统平台有不同的结构常见的PE文件后缀名有EXE, DLL,SYS等。原创 2022-08-07 11:38:14 · 677 阅读 · 0 评论