《PE文件讀寫工具》是一款可以帮助用户读写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)。