我正在尝试创建一个简单的病毒清除程序。我开发的算法意味着:
我知道这是可能的,因为这与修补程序的创建方式相同,但我对如何解决此问题感到有点迷失。
任何帮助?
答案 0 :(得分:3)
您必须提供更多智能,而不仅仅是进行一些模式匹配,并删除孤立的病毒代码。
您所针对的病毒是files infectors,在我们这个时代很少使用。 大多数情况下,他们的复制过程如下:
对任何防病毒软件来说,消毒文件是最困难的部分。它依赖于病毒代码的质量:如果它有问题,主机文件将无法恢复。
无论如何,您正在进入一个机器指令世界,其中反汇编程序(IDA,PE Explorer ...)和调试程序将是您最亲密的朋友。
答案 1 :(得分:0)
对两个文件进行区分,基本思路是逐个比较原始文件和受感染文件,直到保存与某些数据结构的差异为止。然后在将来你可以找到“病毒”,它假设是差异的集合,在其他文件中删除“病毒”。
唯一的问题是两个文件之间可能存在差异,这些差异与“病毒”无关,例如:被感染的文件以与原始文件不同的方式进行了修改,这与病毒无关。
EDIT *** 检查病毒的其他文件不会太难,但我假设你正在处理一些纯文本形式的文件,对于二进制文件,我认为你不能删除“病毒”