但不管他怎么变,原则都是一样的,甚至和真实世界里的病毒和癌细胞都没有什么区别,那就是不断复制自己。
除非能一次全部清除了他,否则他就总会越来越多。
但孟飞想不明白。明明开着单步的时候已经把所有的病毒清理干净,为什么这些病毒还能存在?
这就像你把机器关了,硬盘格式化了,系统重装了,开机,结果病毒依然嗨皮地和你打了一个招呼。
那种挫败感简直是人生的噩梦。
“你已经败了,还不明白么?”
罗安爬上了他的开启的机舱口,目光严肃而冷漠,似乎在苛责这位曾经的下属。
“对,我不明白!
“系统已经停止了,病毒不可能得到执行机会,为什么还是没有被消灭干净?”
孟飞通过“扫描”消灭了这个罗安。但是另外两个罗安直接出现在了他旁边,一左一右。
“很简单,杀软也是有漏洞的。简单的缓冲溢出攻击而已。”
右边的罗安一边说着,一边伸手过来,仿佛摸摸他的脑袋。
“修复!”
孟飞再次用修复消灭了右边的罗安。在老板的提示下他终于明白怎么回事了。
是的,杀软也是有漏洞的!
他单步让系统停止的时候,老黎后来带入的杀软并不在停止的范围内,依然是可以运作的。
然后杀软开始扫描所有的病毒。
但杀软也是漏洞的。如果熟知这些漏洞并在病毒中精心构筑一段预埋的数据的话会怎么样?
杀软会扫描并解析这段数据。但因为杀软存在漏洞,将部分数据读入缓冲区解析的时候出现了缓冲溢出。
溢出的数据被写入了栈里覆盖了原有的返回地址。然后函数返回的时候,跑到了栈里的新地址指向的非法指令区。
结果就是本来不可能得到执行机会的病毒,利用杀软本身给运行起来了。