0
点赞
收藏
分享

微信扫一扫

逆向调试入门-PE结构详解01/07

PE简介


PE文件使用的是一个平面地址空间,所有代码和数据都被合并在一起,组成一个很大的结构。


逆向调试入门-PE结构详解01/07_PE文件


详细的PE文件示意图


PE内容


文件的内容被分割为不同的区块,块中包含代码或数据。各个区块按页边界来对齐,区块没有大小限制,是一个连续的结构。


逆向调试入门-PE结构详解01/07_逆向调试入门_02


PE属性


此外,每个块有自己在内存中的一套属性,比如说这个区块是否包含代码、是否只读或可读/写等。



逆向调试入门-PE结构详解01/07_PE文件_03


可以看到有RWE三种访问限制


windows加载器(PE装载器)


Windows加载器(又称PE装载器)遍历PE文件并决定文件的哪一部分被映射,这种映射方式是将文件较高的偏移位置映射到较高的内存地址中。


当磁盘文件一旦加载入内存中,磁盘上的数据结构布局和内存中的数据结构布局是一致的。


逆向调试入门-PE结构详解01/07_逆向调试入门_04


PE头部


文件的头部用来标识该文件符合PE结构的规范


逆向调试入门-PE结构详解01/07_逆向调试入门_05


OD中查看PE结构


MS-DOS头部


在dos头部中,我们关注4D 5A,表示一个DOS的可执行文件


逆向调试入门-PE结构详解01/07_PE文件_06


PE的正式头部与MS-DOS头部的偏移距离永远是3Ch


逆向调试入门-PE结构详解01/07_PE文件_07


在这里显示丛00 00 00 C0开始是PE头部



逆向调试入门-PE结构详解01/07_PE文件_08


我们也可以在二进制中发现


合格的PE结构文件,开头是50 45 00 00 



举报

相关推荐

0 条评论