PE文件的有效性判断

 

  PE 文件格式被组织为一个线性的数据流。开始的是 MS-DOS 头,然后是实模式的程序根,再就是 PE 文件签名,紧随其后的便是 PE 文件头和可选头。在这之后,出现的是所有的节头,再跟着的就是所有节的节身。文件常以一些其它方面的杂项信息,包括重定位信息、符号表信息、行数信息以及字串表数据等作为结尾。所有这些都可以通过查看图 1 中的图象信息更轻松地被消化吸收。

 

 

判断一个文件是否是有效性 PE 文件,主要是判断指定文件是否有:“有效的 DOS 头”和“ PE 文件签名”

 

具体操作:

1、 把指定文件加载到内存中

2、  获取文件的DOS 头部(IMAGE_DOS_HEADER ), 判断 IMAGE_DOS_HEADER 中的成员变量e_magic 是否等于“ MZ ”,如果是,则说明该文件拥有有效的DOS

3、  根据IMAGE_DOS_HEADER 中的成员变量e_lfanew ,获取PE 文件头(IMAGE_NT_HEADERS32 ),判断IMAGE_NT_HEADERS32 中的成员变量Signature 是否等于“ PE00 ”,如果是,则说明该文件是 有效的PE 文件

4、  从内存中删除载入的文件

 


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值