简单的病毒卸妆

我正在尝试创建一个简单的病毒清除器。 我开发的算法是为了:

  • 检查原始文件和受感染的文件
  • 将病毒从受感染的文件中分离出来
  • 使用相同的算法修复感染病毒的其他文件
  • 我知道这是可能的,因为这与修补程序的创建方式相同,但我在如何解决这个问题上有点失落。

    任何帮助?


    你必须投入更多的智慧,而不是简单地做一些模式匹配,并删除孤立的病毒代码。

    您瞄准的病毒是在我们的日子里很少使用的文件感染者。 大多数时候,他们的复制过程如下所示:

  • 他们在PE文件的开头或结尾复制自己
  • 找到PE文件的入口点
  • 将跳转指令放在指向他们代码的位置
  • 消毒文件是任何反病毒最困难的部分。 它依赖于病毒代码的质量:如果它有问题,主机文件将不可恢复。

    无论如何,您正在进入机器指令的世界,反汇编程序(IDA,PE Explorer ...)和调试器将成为您最亲密的朋友。


    对两个文件进行区分,基本思想是逐字比较原始文件和受感染文件,并将差异保存到某些数据结构中。 然后,在未来,您可以在其他文件中查找假设为差异集合的“病毒”,并删除“病毒”。

    唯一的问题是这两个文件之间可能会有差异,这与“病毒”无关,例如被感染文件的修改方式与原始文件不同,与病毒无关。

    编辑***检查病毒的其他文件不会太难,但我假设你正在处理一些纯文本形式的文件,对于二进制propitiatory文件,我不认为你将能够删除“病毒”。

    链接地址: http://www.djcxy.com/p/4777.html

    上一篇: Simple Virus Remover

    下一篇: Java PreparedStatement using two single quotes for empty string parameter