多态代码如何处理 .exe 文件

问题描述

我正在写一篇关于恶意软件和恶意软件分析的论文,并想包括一些关于多态恶意软件(会改变自身的代码)的内容,不要与多态混淆是 OOP。

我的假设是它改变了改变文件签名的函数名称。例如,我做了一个测试并进入 vim 并更改了我的 hello world 程序中的一些函数名称,该程序是用 c(实际的可执行文件)编写的,它没有改变代码的执行方式,但它改变了文件签名。

所以我错了还是还有更多?我知道有一些变形代码可以插入指令并改变程序的实际流程,但我只是在谈论混淆以及基本的多态代码是如何工作的。如果有人能回答我或给我指点一份研究论文,那就太棒了!

解决方法

首先,我怀疑你改函数名的时候,文件签名变了。或者,这取决于您对此处签名的定义。如果您的意思是 MD5 哈希,即使您没有更改代码中的任何内容,这也会发生变化,因为标头中的时间戳已更改。

多态代码基本上由一段自变加密代码(变形加密器)+加密的有效载荷组成。 我建议您阅读 Peter Szor 的伟大著作“计算机病毒研究与防御的艺术”。虽然书有点旧,但是很多像这样的基本概念都解释得很好。