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文件