检查PE头完整性

时间:2014-04-12 12:05:20

标签: neural-network portable-executable

我创建了一个使用人工神经网络识别恶意文件的项目。我将PE结构中的一些选定特征作为神经网络的输入,并且正确地对文件进行分类。但是参考这个答案:" https://security.stackexchange.com/questions/37921/windows-pe-file-and-malwares&#34 ;;它说代码可以注入PE,可选标题中的值可以改变!我想知道是否有任何方法可以知道PE结构是否已被修改? 关于将代码注入PE文件的另一个链接:http://www.codeproject.com/Articles/12532/Inject-your-code-to-a-Portable-Executable-file

1 个答案:

答案 0 :(得分:0)

如果您没有orignal二进制文件但是每个编译器或打包器都有签名(您可以使用rdg查看例如http://www.rdgsoft.net/),您无法知道pe是否被修改了您可以使用它来查看如果此签名不在此处,但即使二进制文件被修改,签名也可能在此处。

否则,您可以查看二进制文件是否具有奇怪的部分,或者结构中的某些值是否不合逻辑

你也可以看到每个部分是否有正确的保护.text - >执行等。

如果您想了解更多信息,请查看此链接

https://github.com/katjahahn/PortEx/tree/master/masterthesis

您可以阅读恶意软件的差异策略(附加到orignal binary或prependeing or divide in multi part)以及如何检测它。

例如

您应在导入表LoadLibraryGetProcAddress

中找到哪些功能

以及他在实践中测试这些方法的工具:

https://github.com/katjahahn/PortEx