检测PE文件的有效性(转)
作者:迷走尘埃 日期:2009-03-07
从杀毒软件的角度来讲检测文件是否为PE文件,并再进一步判断使用何种方式对文件进行操作。在病毒感染可执行文件时,也是应该有这样步骤的。那么,就来看看杀毒软件是如何检测PE文件的有效性了。
PE文件是在windows系统中任何可执行模块或者DLL的文件格式。PE的意思是Portable Executable(可移植的执行体)。它是Win32环境自身所带的执行体文件格式。PE文件格式是跨Win32平台的,就是说即使是运行在非Intel CPU上的Windows都能够被PE装载器识别和使用该文件格式。
所有常见的PE结构定义在winnt.h头文件中。我们一般关心的有:IMAGE_DOS_HEADER、IMAGE_FILE_HEADER、IMAGE_OPTIONAL_HEADER32、IMAGE_SECTION_HEADER、IMAGE_NT_HEADER……还有很多的!在这里,我们只讨论两个结构,一个是IMAGE_DOS_HEADER,另一个是IMAGE_NT_HEADERS。通过这两个结构,我们就可以完成我们检测PE有效性的功能了。










