如何判断一个文件是否为PE文件

PE文件,Portable Executable file format简称。

那么如何判断一个文件是否为PE格式的文件?

1、首先检验文件头部第一个字的值是否等于 IMAGE_DOS_SIGNATURE,是则 DOS MZ header 有效。
2、一旦证明文件的 DOS header 有效后,就可用e_lfanew来定位 PE header 了。
3、比较 PE header 的第一个字的值是否等于IMAGE_NT_HEADER。如果前后两个值都匹配,那我们就认为该文件是一个有效的PE文件。

上面的是百度的结果

翻译通俗点

1、查找MZ头是否为0X4D5A

2、如果上面条件符合 则用e_lfanew指针定位pe头,e_lfanew一般位于0X3C

3、如果上面条件符合 则判断pe头是否为0x4550

都符合 则是有效PE文件


 

你可能感兴趣的:(dos,百度)