文章转自http://bbs.pediy.com/showthread.php?p=704890#post704890
检测cc断点的代码
00401519 $ BF 96124000 MOV EDI,KGM1Tal.00401296 ; 入口地址
0040151E . B9 00010000 MOV ECX,100 ; 计数器
00401523 . B0 99 MOV AL,99 ; AL=99
00401525 . 34 55 XOR AL,55 ; AL=99^55=CC
00401527 . F2:AE REPNE SCAS BYTE PTR ES:[EDI] ; 循环检测
00401529 . 85C9 TEST ECX,ECX
0040152B . 74 06 JE SHORT KGM1Tal.00401533 ; 不存在int3断点则跳,否则弹出失败的提示框,也就是说在地址00401296—00401396之间不可下断
0040152D . 5E POP ESI
0040152E . 33F6 XOR ESI,ESI
00401530 . 57 PUSH EDI
00401531 .^ EB C2 JMP SHORT KGM1Tal.004014F5
00401533 > C3 RETN
对抗此anti cc 的方法太多了,呵呵。以后会添加seh,硬件断点等的检测代码,呵呵.
本文提供了一段用于检测CC断点的汇编代码,并详细解释了每条指令的作用。通过对内存中特定地址范围内的CC(十六进制的99^55)断点进行扫描,来判断是否有调试器介入。
2万+

被折叠的 条评论
为什么被折叠?



