分类
大小:8.8 MB
语言:简体中文系统:WinXP, Win2003, Vista, Win7, Win8, Win10
类别:文档管理时间:2019-12-23
《PE文件读写工具》是一款可以帮助用户读写pe文件的工具,用户可以使用这款软件读写需要查看的PE文件,同时支持对文件进行标注编辑,功能非常全面,当然软件还不是完全版,还有很多功能没有实现,不过不用担心,软件会持续更新,你需要的功能都会有的!
PE文件是windows系统中遵循PE结构的文件,比如以.exe .dll为后缀名的文件以及系统驱动文件。
PE文件大体分为两部分,头(包括下图中的DOS头,PE文件头,块表)与主体(块)。
PE文件从磁盘当中像内存中的映射,不是简单的“1对1”的关系,而是“拉长”了。具体的位置表现在块。但是磁盘上的数据结构与在内存中的结构是一致的。
无论PE文件在磁盘中还是在内存中,都少不了地址的概念,理解一下几个概念至关重要。
虚拟地址(VA): 在一个程序运行起来的时候,会被加载到内存中,并且每个进程都有自己的4GB,这个4GB当中的某个位置叫做**虚拟地址**,由物理地址映射过来的,4GB的空间,并没有全部被用到。
基地址(Imagebase):磁盘中的文件加载到内存当中的时候可以加载到任意位置,而这个位置就是程序的基址。EXE默认的加载基址是400000h,DLL文件默认基址是10000000h。需要注意的是基地址不是程序的入口点。
相对虚拟地址(RVA):为了避免PE文件中有确定的内存地址,引入了相对虚拟地址的概念。RVA是在内存中相对与载入地址(基地址)的偏移量,所以你可以发现前三个概念的关系:虚拟地址(VA)= 基地址+相对虚拟地址(RVA)
文件偏移地址(FOA):当PE文件储存在某个磁盘当中的时候,某个数据的位置相对于文件头的偏移量。
入口点(OEP):首先明确一个概念就是OEP是一个RVA,然后使用OEP +Imagebase ==入口点的VA,通常情况下,OEP指向的不是main函数。
PE文件的全称是Portable Executable,意为可移植的可执行的文件,常见的EXE、DLL、OCX、SYS、COM都是PE文件,PE文件是微软Windows操作系统上的程序文件(可能是间接被执行,如DLL)
PE文件是指32位可执行文件,也称为PE32。64位的可执行文件称为PE+或PE32+,是PE(PE32)的一种扩展形式(请注意不是PE64)。
展开