CCL打造杀毒软件免杀的超级黑器
2009-05-25 16:53:19 来源:WEB开发网核心提示: 00401814 0F87 5C01000> ja win.004019760040181A 33C9 xor ecx,ecx0040181C 8A88 0C1A400> mov cl,byte ptr ds:[eax+401A0C]00401822 FF248D E4194
00401814 0F87 5C01000> ja win.00401976
0040181A 33C9 xor ecx,ecx
0040181C 8A88 0C1A400> mov cl,byte ptr ds:[eax+401A0C]
00401822 FF248D E4194> jmp dword ptr ds:[ecx*4+4019E4]
怎么改呢?这里讲两个通用的方法。特征码不可能只由某一句指令来确定,这样误报率会非常高,因此通常是多条指令的组合,我们只要将这个组合打乱既可。最简单的方法当然是两条指令调个顺序,我们把它叫做指令顺序调换法,它使用的范围仅限于互不干扰的两条指令。可有很多情况,指令的执行顺序是不能调的,比如上面的6条指令,这时就用第二种方法:通用跳转法则:在文件中寻找一个空隙(由于对齐的原因,PE文件中往往会有一些空隙处没有代码,全部为0),将原来的指令改成一个跳转,跳到这个空隙去执行,空隙处填入我们原来的指令,执行完毕再跳转回去。我们将OllyDbg的滚动条向下拉,Look,在0x00405D20处有空隙,如图4所示。
下面全部是空隙
代码尾部
图4
修改方法见下面(改之前别忘了先将原文件备份一下):
0040180E /E9 0D450000 jmp WinShell.00405D20
00401813 |90 nop
00401814 |0F87 5C010000 ja WinShell.00401976
更多精彩
赞助商链接