首页
社区
课程
招聘
[原创]OD+IDA6.1破解HideWizardv9.29(无忧隐藏)
发表于: 2012-4-22 22:01 32937

[原创]OD+IDA6.1破解HideWizardv9.29(无忧隐藏)

2012-4-22 22:01
32937

偶以前搞过一些破解,但都是一些软柿子,前几天有隐藏木马这么个需求,包括进程、窗口、硬盘文件等,非要用HideWIzard出手不可。HideWIzard6.4有破解版但功能不够,只好拿HideWIzard最新版9.29开刀了。感觉还是挺麻烦的,也许是我水平很菜把,废话不说进入正题


0)先对程序的情况说明一下,程序总共有三处验证,有些可以观察到,有些是破解过程中发现
1.对注册码在客户端进行初步判断,输入不正确的话什么提示都没有,否则进入第二步服务器激活验证;
2.与服务器通信,在static控件显示返回结果;
3.使用imagehlp进行EXE校验,如果发现二进制被修改则自动退出
下面详细阐述哈



1)首先是PEiD查壳,啥也没发现,事实上到最后我也不知道是什么壳,也没学过脱壳,汗一个,哪位大大知道不妨告知哈。IDA6.1打开EXE,可以判断是MFC程序

2)OD加载程序后,自带的7E42xxxx断点一定要清除,否则会导致系统假死,狂按F9过一分钟能缓回来,缓不回来只好重启了。加载成功后窗口切换焦点时也是一顿一顿的,不知是不是有意为之,调试过程中尽量不要切换焦点。顿的程度好像与系统和OD也有关系,具体作用关系不明,最好找个能自动清除debug标志位的。OD换了好几个才碰上个顺手的,我用的ODbyDYK v1.10里的Pza74.exe,能自动清除debug标志位,对call jmp等指令能高亮显示,Pza74缺点是插件不如OllyICE多,但OllyICE没高亮,看的很头疼。



3)正式进入调试步骤,首先需要在激活按钮处下断,因为没有任何提示,只好在CCmdTarget::OnCmdMsg处下断,在IDA记下地址在OD直接bp。OnCmdMsg第四个参数即为消息响应函数。函数如下,程序在0042AB9B处检查注册码位数,只要让输入的注册码为17位就不会跳到函数末尾,在末尾处可以看出SendMessageA是进入下一步的关键,因此中间的算法就不用看了,直接找跳转,把该nop的nop掉。

0042AB5F   /.  55             push ebp
0042AB60   |.  8BEC           mov ebp,esp
0042AB62   |.  83EC 14        sub esp,14
0042AB65   |.  56             push esi
0042AB66   |.  8BF1           mov esi,ecx
0042AB68   |.  8975 EC        mov dword ptr ss:[ebp-14],esi
0042AB6B   |.  FF15 C4D14600  call dword ptr ds:[<&KERNEL32.GetTickCount>]     ; [GetTickCount
0042AB71   |.  8BC8           mov ecx,eax
0042AB73   |.  2B0D A4F44800  sub ecx,dword ptr ds:[48F4A4]
0042AB79   |.  81F9 2C010000  cmp ecx,12C
0042AB7F   |.  0F82 40010000  jb HideWiza.0042ACC5
0042AB85   |.  6A 01          push 1
0042AB87   |.  8BCE           mov ecx,esi
0042AB89   |.  A3 A4F44800    mov dword ptr ds:[48F4A4],eax
0042AB8E   |.  E8 B0530000    call HideWiza.0042FF43
0042AB93   |.  81C6 10040000  add esi,410
0042AB99   |.  8B06           mov eax,dword ptr ds:[esi]
0042AB9B   |.  8378 F4 11     cmp dword ptr ds:[eax-C],11 ////////////////////
0042AB9F   |.  8BCE           mov ecx,esi
0042ABA1   |.  0F85 14010000  jnz HideWiza.0042ACBB ////////////////不成立则跳到0042ACC5处,不能跳,需要nop掉
...
0042AC9B   |. /75 1C          jnz short HideWiza.0042ACB9 /////////////////不能跳,需要nop掉
0042AC9D   |. |394D F0        cmp dword ptr ss:[ebp-10],ecx
0042ACA0   |. |75 17          jnz short HideWiza.0042ACB9 /////////////////不能跳,需要nop掉
0042ACA2   |. |8B45 EC        mov eax,dword ptr ss:[ebp-14]
0042ACA5   |. |6A 0A          push 0A                                          ; /lParam = A
0042ACA7   |. |6A 01          push 1                                           ; |wParam = 1
0042ACA9   |. |68 CA040000    push 4CA                                         ; |Message = MSG(4CA)
0042ACAE   |. |FF70 20        push dword ptr ds:[eax+20]                       ; |hWnd
0042ACB1   |. |FF15 84D54600  call dword ptr ds:[<&USER32.SendMessageA>]       ; \SendMessageA
0042ACB7   |. |EB 0C          jmp short HideWiza.0042ACC5
0042ACB9   |> \8BCE           mov ecx,esi
0042ACBB   |>  68 F2DC4600    push HideWiza.0046DCF2
0042ACC0   |.  E8 1B7BFDFF    call HideWiza.004027E0
0042ACC5   |>  5E             pop esi
0042ACC6   |.  C9             leave
0042ACC7   \.  C3             retn
0041E349    .  E9 AD030000    jmp HideWiza.0041E6FB
0041E34E    >  8D45 D8        lea eax,dword ptr ss:[ebp-28]
0041E351    .  50             push eax
0041E352    .  8D45 D4        lea eax,dword ptr ss:[ebp-2C]
0041E355    .  33FF           xor edi,edi
0041E357    .  50             push eax
0041E358    .  47             inc edi
0041E359    .  68 40EA4800    push HideWiza.0048EA40
0041E35E    .  897D D4        mov dword ptr ss:[ebp-2C],edi
0041E361    .  895D D8        mov dword ptr ss:[ebp-28],ebx
0041E364    .  FF15 FCD74600  call dword ptr ds:[<&imagehlp.Ma>;  imagehlp.MapFileAndCheckSumA /////////////////////////////////////////////Checksum!!!
0041E36A    .  85C0           test eax,eax
0041E36C    .  75 0C          jnz short HideWiza.0041E37A
0041E36E    .  8B45 D4        mov eax,dword ptr ss:[ebp-2C]
0041E371    .  3B45 D8        cmp eax,dword ptr ss:[ebp-28]
0041E374    .  0F85 81030000  jnz HideWiza.0041E6FB ////////////////////////////////should not jmp, so nop it
0041E37A    >  68 6C3E4700    push HideWiza.00473E6C           ;  ASCII "SEAN_U_HIDE_WIZARD"
0041E37F    .  8D4D E0        lea ecx,dword ptr ss:[ebp-20]
0041E382    .  E8 604BFEFF    call HideWiza.00402EE7
0041E387    .  FF75 E0        push dword ptr ss:[ebp-20]       ; /MutexName
0041E38A    .  895D FC        mov dword ptr ss:[ebp-4],ebx     ; |
0041E38D    .  53             push ebx                         ; |Inheritable
0041E38E    .  57             push edi                         ; |Access
0041E38F    .  FF15 2CD44600  call dword ptr ds:[<&KERNEL32.Op>; \OpenMutexA
0041E395    .  8B7D DC        mov edi,dword ptr ss:[ebp-24]
0041E398    .  8987 A4000000  mov dword ptr ds:[edi+A4],eax
0041E39E    .  3BC3           cmp eax,ebx
0041E3A0    .  0F84 97000000  je HideWiza.0041E43D

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

上传的附件:
收藏
免费 6
支持
分享
最新回复 (31)
雪    币: 27
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
谢谢楼主分享 明天好好研究下
2012-4-22 23:28
0
雪    币: 20
活跃值: (104)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
顶楼主~~~
2012-4-22 23:43
0
雪    币: 22122
活跃值: (5190)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
thank you very much
2012-4-23 06:00
0
雪    币: 1737
活跃值: (110)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
无忧隐藏,留个脚印儿~
2012-4-23 07:48
0
雪    币: 444
活跃值: (103)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
谢谢楼主,分享了
2012-4-23 08:21
0
雪    币: 107
活跃值: (439)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
竟然把F5的代码都粘贴上来了??膜拜...
2012-4-23 09:17
0
雪    币: 297
活跃值: (325)
能力值: ( LV4,RANK:55 )
在线值:
发帖
回帖
粉丝
8
对目标工具比较感兴趣,mark
2012-4-23 09:37
0
雪    币: 234
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
讲的好详细,谢谢共享
2012-4-24 13:39
0
雪    币: 211
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
好贴啊,IDA看来得去温习1下了
2012-4-24 16:42
0
雪    币: 54
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
目标工具是一个叫屏幕键盘监控专家的东西,记录键盘发Email用的,IDA6.1主要是反编译和分析MFC类函数方面非常给力
2012-4-24 17:19
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
很精彩,学习学习!
2012-4-25 11:27
0
雪    币: 211
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
很精彩,学习学习! !
2012-5-7 12:37
0
雪    币: 66
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
终于找到破解的了,被改主页非常蛋疼。
2012-5-9 12:04
0
雪    币: 333
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wan
15
学习了,也顺便了解到其实它是简单的算法,把值写到其它文件中。
2012-5-9 21:59
0
雪    币: 97
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
好东西啊  系统是64位的  依葫芦画瓢 回去看看64位的  怎么整
2012-5-20 15:52
0
雪    币: 34
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
终于找到破解的了,被改主页非常蛋疼。
2012-5-20 15:59
0
雪    币: 239
活跃值: (59)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
这个 很给力   学习了
2012-5-20 18:56
0
雪    币: 137
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
果断顶上去,真是好帖子。
2012-5-23 09:43
0
雪    币: 122
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
学习了…………………………………………………………………………
2012-6-4 14:41
0
雪    币: 5
活跃值: (41)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
学习一下,谢谢分享
2012-6-4 23:47
0
雪    币: 190
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
很不错!我也试过搞它的,不过没搞出来!学习了! 不知楼主能不能搞定64位的!这个程序比其他类型的程序,感觉好用得多!
2013-1-15 21:31
0
雪    币: 166
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
学习一下,谢谢分享
2013-1-18 19:50
0
雪    币: 202
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
讲的好详细,谢谢共享!
2013-2-27 15:12
0
雪    币: 3
活跃值: (46)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
谢谢楼主分享
2013-10-11 14:29
0
游客
登录 | 注册 方可回帖
返回