PE文件结构

了解PE文件结构对于分析病毒来说很重要,虽然这方面的资料在网上绰绰有余,我还是想写写我自己觉得更有用的一些东西。

3ch   pe,0,0 字符串(Signature)的位置
从这里开始就是pe文件头

PE header 的正式命名是 IMAGE_NT_HEADERS。

IMAGE_NT_HEADERS STRUCT
    Signature dd ?
    FileHeader IMAGE_FILE_HEADER <>
    OptionalHeader IMAGE_OPTIONAL_HEADER32 <>
IMAGE_NT_HEADERS ENDS

Signature PE标记,一共4个字节,值为50h, 45h, 00h, 00h(PE/0/0)。

FileHeader 一共14h字节,该结构域包含了关于PE文件物理分布的一般信息。

IMAGE_FILE_HEADER STRUCT
    Machine WORD ?
    NumberOfSections WORD ?
    TimeDateStamp dd ?
    PointerToSymbolTable dd ?
    NumberOfSymbols dd ?
    SizeOfOptionalHeader WORD ?
    Characteristics WORD ?
IMAGE_FILE_HEADER ENDS

OptionalHeader 该结构域包含了关于PE文件逻辑分布的信息。

下面从pe文件头开始介绍一些重要的数据位置

28 程序入口的相对地址RVA
2c 代码段的起始相对位置RVA
30 数据段的起始相对位置RVA
34 加载内存的首选基地址imageBase
78 引出表RVA
7c 引出表大小
80 引入表RVA
84 引入表大小
f8 节表开始:节名
100 节在内存中的大小
104 节在内存中的起始RVA
108 节在文件中的大小
10c 节在文件中的偏移
11c 节的属性
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值