1、EXE文件是属于PE文件的一种。
2、PE文件的全称是Portable Executable,意为可移植的执行体是,常见的EXE、DLL、OCX、SYS、COM都是PE文件,PE文件是微软Windows *** 作系统上的程序文件(可能是间接被执行,如DLL)
3、一个 *** 作系统的可执行文件格式在很多方面是这个系统的一面镜子。虽然学习一个可执行文件格式通常不是一个程序员的首要任务,但是可以从这其中学到大量的知识。
4、 Microsoft 的所有基于win32系统(如winnt,win9x)的可移植可执行(PE)文件格式的详细介绍。在可预知的未来,包括Windows2000, PE文件格式在 MicroSoft 的 *** 作系统中扮演一个重要的角色。
5、如果在使用 Win32 或 Winnt ,那么已经在使用 PE 文件了。甚至只是在 Windows3.1 下使用 Visual C++编程,使用的仍然是 PE 文件(Visual C++ 的 32 位MS-DOS扩展组件用这个格式)。简而言之,PE 格式已经普遍应用,并且在不短的将来仍是不可避免的。
pe文件:exe dll ocx sys compe结构:MS-dos头 标准pe头 扩展pe头 数据目录 节表
4D5A 文件标志
标准PE头和扩展PE头
常用区段:
IMAGE_SIZEOF_FILE_HEADER等 //pe中一组宏定义常见属性
VA Virtual Address //虚拟内存地址 00000000h-0fffffffh
进程的基地址 + 相对虚拟内存地址
RVA //Reversc Virtual Address 相对虚拟地址(模块的基地址的偏移量
FOA File Offset Address 文件偏移地址 某个位置距离文件头的偏移量
注意处理文件的位数是32位还是64位
遍历动态链接库和API
_IMAGE_EXPORT_DIRECTORY
TLS表:线程局部存储,
_IMAGE_DELAYLOAD_DESCRIPTOR
//LoadPE查看
//解析其他表
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)