简单的病毒卸妆

Chi*_*ata 7 .net c# patch antivirus virus

我正在尝试创建一个简单的病毒清除程序.我开发的算法意味着:

  • 检查原始文件和受感染的文件
  • 将病毒与受感染的文件分开
  • 使用相同的算法修复感染病毒的其他文件

我知道这是可能的,因为这与修补程序的创建方式相同,但我对如何解决这个问题感到有点迷茫.

任何帮助?

Rou*_*hof 3

您必须投入更多的智能,而不仅仅是进行一些模式匹配并删除隔离的病毒代码。

您针对的病毒是当今很少使用的文件感染者。大多数时候,它们的复制过程如下:

  1. 它们将自身复制到PE 文件的开头或结尾
  2. 找到PE文件的入口点
  3. 将跳转指令放置到该位置,指向他们的代码

对于任何防病毒软件来说,清除文件是最困难的部分。它依赖于病毒代码的质量:如果有错误,主机文件将无法恢复。

无论如何,您正在进入一个机器指令的世界,其中反汇编器(IDA、PE Explorer ...)和调试器将是您最亲密的朋友。