首页
社区
课程
招聘
[讨论]这种类型的Anti-Debug是不是没法跟踪啊?
发表于: 2005-5-22 11:30 4303

[讨论]这种类型的Anti-Debug是不是没法跟踪啊?

2005-5-22 11:30
4303
最近破解一个软件,它有如下的运行特点,实在是找不到方法下手,哪位大虾看看?
1.一个进程A创建另外一个进程B,B不能单独运行。(这个对soft-ice来说,问题不大)
2。可以确认使用的是hasp狗,但是它使用自己编写的dll(rapidh32.dll,里面有hasp输出函数)
3。对大多数API,或者自己的dll函数,使用一段公用代码来调用:P2CS:0041A8C2                 cmp     dword ptr [ebp+34h], 3
P2CS:0041A8C6                 jb      loc_41A8DC
P2CS:0041A8CC                 jz      loc_41A8DC
P2CS:0041A8D2                 push    offset loc_41A8DF
P2CS:0041A8D7                 mov     ecx, [ebp+14h]                //这里调用函数,通用模块
。。。。。。。。。。。。。。。
P2CS:0041A8DA                 jmp     dword ptr [ecx]
P2CS:0041A8DC loc_41A8DC:                             ; CODE XREF: P2CS:0041A915                 push    dword ptr [edx] ; pMem
P2CS:0041A917                 sub     [esp+14h+var_14], 4
P2CS:0041A91B                 call    GlobalHandle
P2CS:0041A920                 push    eax             ; hMem
P2CS:0041A921                 push    eax             ; hMem
P2CS:0041A922                 call    GlobalUnlock
P2CS:0041A927                 call    GlobalFree
。。。。。。。。。。。。。。。。。。。。。
P2CS:0041A95F                 pop     ecx
P2CS:0041A960                 pop     edi
P2CS:0041A961                 add     esp, 0Ch
P2CS:0041A964                 mov     ebx, ds:dword_441018
P2CS:0041A96A                 jmp     ds:off_41A0B8[edx]        //这里使用跳转,跟踪的话来到ED9cc8这样的高端地址!
4。调用这个模块之后,没有ret指令,而是使用jmp来代替!并且跟踪到一块儿高端地址空间(ED9CC8),无法找到判断点
5。没有软件狗的情况下,在保存文件的功能上时而可以使用,时而不能使用(弹出对话框(MessageBoxExA),显示This is an evluation version…………)

最头疼的是第三点和第四点,即使下了bpio之后,也不知道去分析哪块代码?这是不是也算anti-debug啊?应该很强了吧?有没有什么好点儿的办法对付呢?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
2
第3个问题主要是靠静态反汇编解决。如果别的地方分析的足够多,并且运气好的话,或许都不用看那个地方;

第4个问题很正常,你多F12几次,往外层跑,跑出去从那个地方重新启动跟进去,或者分析堆栈变化也行,我看你还是往外跑更好一些。
2005-5-22 11:49
0
游客
登录 | 注册 方可回帖
返回