二进制文件概述
1. PE文件格式
PE(Portable Exec utable)是 Win32 平台下可执行文件遵守的数据格式。常见的可执行文件(如*.exe文件和*.dll文件)都是典型的 PE 文件
PE 文件格式把可执行文件分成若干个数据节(section),不同的资源被存放在不同的节中。
一个典型的 PE 文件中包含的节如下。
.text 由编译器产生,存放着二进制的机器代码,也是我们反汇编和调试的对象。
.data 初始化的数据块,如宏定义、全局变量、静态变量等。
.idata 可执行文件所使用的动态链接库等外来函数与文件的信息。
.rsrc 存放程序的资源,如图标、菜单等。
除此以外,还可能出现的节包括“.reloc”、“.edata”、“.tls”、“.rdata”等。
#正常的PE大体相同,加壳的PE十分古怪
2. 虚拟内存
windows进程层面:
- 物