首页
社区
课程
招聘
[求助]一个有anti的crackme,求高手~
发表于: 2010-2-28 18:46 5088

[求助]一个有anti的crackme,求高手~

2010-2-28 18:46
5088
原帖在这里,本来是求助帖的,不过现在基本弄明白这个crackme是怎么回事了:)
http://bbs.pediy.com/showthread.php?t=107973
下面这个crackme的下载地址:
http://bbs.pediy.com/attachment.php?attachmentid=39779&d=1267352283

此贴算是一次对anti debugger的小小总结吧....高手请无视掉.....

更新:2010/3/1 2:33 am
----------------------------------------------------
发现这个crackme是集中展示怎么anti ollydbg的,目前发现的方法有
(不知道具体技术的名字,还望知道的在楼下跟帖告诉我......)
1.IsDebuggerPresent
2.使用RDSC指令检测调试器存在与否
3.调用函数,故意"搞乱"返回地址,防止单步跟踪
4.使用FindWindow找到ollydbg窗口,然后使用sendmessage函数向窗口发送exit消息,使od退出
5.读取PEB结构的响应域来检测程序是否处于被调试状态.不过这里我有个疑惑:
00477220  648B0530000000        mov    eax, fs:[$00000030]
00477227  85C0                  test    eax, eax
00477229  780F                  js      0047723A
0047722B  648B0518000000        mov    eax, fs:[$00000018]
00477232  8B4030                mov    eax, [eax+$30]
00477235  0FB64002              movzx  eax, byte ptr [eax+$02]
00477239  C3                    ret

0047723A  8B05E49CFCBF          mov    eax, [$BFFC9CE4]
00477240  8B08                  mov    ecx, [eax]
00477242  83795401              cmp    dword ptr [ecx+$54], +$01
00477246  19C0                  sbb    eax, eax
00477248  40                    inc    eax
00477249  C3                    ret
第一段代码我看懂了,第二段代码没看懂,网上搜索了一下BFFC9CE4这个地址,结果没看明白...望高手指教~
6.花指令....而且是大量的花指令......囧rz...

如果你有什么新的发现,请在下面跟帖....

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
anti 不到我额
2010-3-1 13:38
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
3
hi,爆破王子~
你的OD咋这么厉害。。
2010-3-1 17:05
0
雪    币: 622
活跃值: (294)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
4
TForm1.FormCreate
1.IsDebuggerPresent
2."Ollydbg - [CPU]"窗口查找
3."Ollydbg"窗口查找
4.手工一份IsDebuggerPresent

TForm1.FormShow
1.CheckRemoteDebuggerPresent
2.EnumWindow检查窗口类名是不是ACPUASM,ACPUSTACK,ACPUDUMP,ACPUSTACK

TForm1.FormActivate
1.历遍进程,检查进程有没有这些模块cmdbar.dll,cmdline.dll,IsDebug.dll,HideDebugger.dll,OllyDump.dll,OllyScript.dll.hidedbg.dll
如果找到则向进程0x4314f3处写入00 E6 47 00 04 16 00,共7个字节,那边是OD调用ContinueDebugEvent的地方。

至于rdtsc间隔检查就不写了,到处都是。虽然没啥影响...

还有楼主的那个疑问,那个挑转是在PEB结构中的TLB结构指针为0的情况下才成立的,不过一般脑子没什么事情的程序都不会去清零那东西……
2010-3-1 18:20
0
雪    币: 2332
活跃值: (3804)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
5
呵呵,谢谢楼上....漏掉了formshow时间里面的检测.
那为什么是BFFC9CE4这个地址?
用od调试的话,rdtsc指令就有作用了...这个crackme叫anti ollydbg:)
2010-3-1 20:15
0
雪    币: 89
活跃值: (36)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
飘过。。。。ing
2010-3-3 09:12
0
雪    币: 56
活跃值: (276)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
想知道更详细一点的
2010-3-3 21:20
0
雪    币: 218
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
这个CM在我电脑上已出现直接就被诺顿干掉了,哈哈,看来只能在虚拟机里调了。。另外,在我的博客园里留言的是你么:)
2010-3-19 10:38
0
游客
登录 | 注册 方可回帖
返回
//