滴水-PE
1. PE文件结构
1.1 可执行文件
可执行文件指的是可以由操作系统进行加载执行的文件
可执行文件结构:
- Windows平台:PE(Portable Executable)文件结构
- Linux平台:ELF(Executable and Linking Format)文件结构
PE文件结构使用场景:
- 病毒与反病毒
- 外挂与反外挂
- 加壳与脱壳(保护与破解)
- 无源码修改功能、软件汉化等
1.2 如何识别PE文件
- PE文件的特征(PE指纹)
分别打开.exe、.dll、.sys等文件,观察特征前2个字节 - 不能仅仅通过文件的后缀名来认定PE文件
1.3 PE文件的整体结构
2. PE文件的两种状态
2.1 主要结构体
- DOS部分:
- IMAGE_DOS_HEADER结构:DOS MZ文件头,64 Byte
- DOS Stub:DOS块(IMAGE_DOS_HEADER结构的最后一个成员指向了PE头开始的位置,由此可以判断DOS块的大小)
- PE文件头:
- “PE”,0,0:PE文件头标志,4 Byte
- IMAGE_FILE_HEADER结构:PE文件表头,标准PE头,20 Byte
- IMAGE_OPTIONAL_HEADER32结构:IMAGE_NT_HEADERS结构,扩展PE头,32位的为224 Byte,可在标准PE头中找到扩展PE头的大小的成员进行更改
- 16xIMAGE_DATA_DIRECTORY结构:数据目录列表
- 节表:
- nxIMAGE_SECTION_HEADER结构:顺序排列的一系列节表数量和节的数量相对应,节表中每个成员占40 Byte
- 节数据
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Mandarava23!
评论


