PE文件结构学习
PE文件结构预览
查看PE文件结构
- 以windows的powershell为例:
1
Format-Hex -Path PE_file.exe
DOS header
- 微软创建PE文件时,DOS文件仍在广泛使用,为了兼容DOS文件,使用64(0x40)个字节用来扩展DOS-EXE文件。
数据结构
1 | typedef struct _IMAGE_DOS_HEADER { // DOS .EXE header |
举例
1 | 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F |
- 重要成员如下:
- e_magic: DOS signature,为固定值:4D5A (“MZ”)
- e_lfanew: File address of new exe header,指⽰NT头的偏移,即标准的PE文件入口,这里的值为000000E8(小端序)
DOS存根(stub)
NT header
NT头:⽂件头
NT头:可选头
节区头
本文作者:
yd0ng
本文链接: https://blog.yd0ng.top/2025/09/26/PE%E6%96%87%E4%BB%B6%E7%BB%93%E6%9E%84/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
本文链接: https://blog.yd0ng.top/2025/09/26/PE%E6%96%87%E4%BB%B6%E7%BB%93%E6%9E%84/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!