好友
阅读权限20
听众
最后登录1970-1-1
|
只用OD就可以搞定了
【文章标题】破解
【软件名称】天天音频转换专家
【软件大小】3.95MB
【下载地址】http://www.httpoo.com/audio/index.htm
【加壳方式】Microsoft Visual Basic 5.0 / 6.0
【使用工具】peid,OllyICE
【我的网站】我的网站:http://www.xkcssf.com.cn,欢迎大家的到来
【经验总结】每个软件,每个断点都要靠我们自己发现,只有通过发现问题才会提高自己的破解水平
【详细过程】
安装好之后运行
出现注册框,注册之后无任何提示,说明是重启验证类型,退出之后跳出网页:http://www.httpoo.com,
OK,现在开始破解。。。
OD载入。。。。
由于是VB程序,我们就查找UNICODE,找到退出后出现的网页,双击进去。。
00413689 . FF15 B8104000 call dword ptr ds:[<&MSVBVM60.__vbaStrCm>; MSVBVM60.__vbaStrCmp
0041368F . 85C0 test eax,eax
00413691 . 74 3E je short tt.004136D1 这里我们修改为JMP保存
00413693 . BA 8C524000 mov edx,tt.0040528C ; http://www.httpoo.com
00413698 . 8D4D E4 lea ecx,dword ptr ss:[ebp-1C]
0041369B . FF15 34114000 call dword ptr ds:[<&MSVBVM60.__vbaStrCo>; MSVBVM60.__vbaStrCopy
004136A1 . 8B0E mov ecx,dword ptr ds:[esi]
004136A3 . 8D55 E0 lea edx,dword ptr ss:[ebp-20]
004136A6 . 8D45 E4 lea eax,dword ptr ss:[ebp-1C]
004136A9 . 52 push edx
再运行一下,退出之后没有网页提示了,现在开始注册软件。。。
OD载入之后下 bp GetPrivateProfileStringA这个断点F9运行
堆栈出现
0012FA00 0041FB9A /CALL 到 GetPrivateProfileStringA 来自 1.0041FB95
0012FA04 00160E8C |Section = "system"
0012FA08 00160104 |Key = "user"
0012FA0C 00000000 |Default = NULL
0012FA10 0015F784 |ReturnBuffer = 0015F784
0012FA14 00000064 |BufSize = 64 (100.)
0012FA18 0015EDFC \IniFileName = "C:\Program Files\『天天音频转换专家』\tt.ini"
0012FA1C 660E610E MSVBVM60.__vbaStrCopy
说明断下来了,我们AIT+F9返回
0041FB18 . 56 push esi
0041FB19 . FF92 18070000 call dword ptr ds:[edx+718]
0041FB1F . 66:397D AC cmp word ptr ss:[ebp-54],di
0041FB23 . 0F85 FA000000 jnz 1.0041FC23 修改为JMP
0041FB29 . 8B5D 14 mov ebx,dword ptr ss:[ebp+14]
0041FB2C . 8D55 C0 lea edx,dword ptr ss:[ebp-40]
0041FB2F . 8B0B mov ecx,dword ptr ds:[ebx]
0041FB31 . 51 push ecx
0041FB32 . 52 push edx
0041FB33 . FF15 B0104000 call dword ptr ds:[<&MSVBVM60.#526>] ; MSVBVM60.rtcSpaceVar
0041FB39 . 8D45 C0 lea eax,dword ptr ss:[ebp-40]
0041FB3C . 50 push eax
0041FB3D . FF15 24104000 call dword ptr ds:[<&MSVBVM60.__vbaStrVa>; MSVBVM60.__vbaStrVarMove
0041FB43 . 8BD0 mov edx,eax
0041FB45 . 8D4D E0 lea ecx,dword ptr ss:[ebp-20]
0041FB48 . FF15 7C114000 call dword ptr ds:[<&MSVBVM60.__vbaStrMo>; MSVBVM60.__vbaStrMove
0041FB4E . 8D4D C0 lea ecx,dword ptr ss:[ebp-40]
0041FB51 . FF15 1C104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeV>; MSVBVM60.__vbaFreeVar
0041FB57 . 8B4E 38 mov ecx,dword ptr ds:[esi+38]
0041FB5A . 8D7E 38 lea edi,dword ptr ds:[esi+38]
0041FB5D . 8B35 5C114000 mov esi,dword ptr ds:[<&MSVBVM60.__vbaSt>; MSVBVM60.__vbaStrToAnsi
0041FB63 . 8D55 D0 lea edx,dword ptr ss:[ebp-30]
0041FB66 . 51 push ecx
0041FB67 . 52 push edx
0041FB68 . FFD6 call esi ; <&MSVBVM60.__vbaStrToAnsi>
0041FB6A . 8B4D E0 mov ecx,dword ptr ss:[ebp-20]
0041FB6D . 50 push eax
0041FB6E . 8B03 mov eax,dword ptr ds:[ebx]
0041FB70 . 8D55 D4 lea edx,dword ptr ss:[ebp-2C]
0041FB73 . 50 push eax
0041FB74 . 51 push ecx
0041FB75 . 52 push edx
0041FB76 . FFD6 call esi
0041FB78 . 8B5D 10 mov ebx,dword ptr ss:[ebp+10]
0041FB7B . 50 push eax
0041FB7C . 6A 00 push 0
0041FB7E . 8D4D D8 lea ecx,dword ptr ss:[ebp-28]
0041FB81 . 8B03 mov eax,dword ptr ds:[ebx]
0041FB83 . 50 push eax
0041FB84 . 51 push ecx
0041FB85 . FFD6 call esi
0041FB87 . 8B55 0C mov edx,dword ptr ss:[ebp+C]
0041FB8A . 50 push eax
0041FB8B . 8D4D DC lea ecx,dword ptr ss:[ebp-24]
0041FB8E . 8B02 mov eax,dword ptr ds:[edx]
0041FB90 . 50 push eax
0041FB91 . 51 push ecx
0041FB92 . FFD6 call esi
0041FB94 . 50 push eax
0041FB95 . E8 FA53FEFF call 1.00404F94
0041FB9A . 8945 A8 mov dword ptr ss:[ebp-58],eax
0041FB9D . FF15 50104000 call dword ptr ds:[<&MSVBVM60.__vbaSetSy>; MSVBVM60.__vbaSetSystemError
往上找到 0041FB23 . /0F85 FA000000 jnz 1.0041FC23
这个跳转,修改为JMP 保存。。。
再运行发现没有注册提示了,但 浏览 位置还是出现 选择影音文件(未注册版,只能转换为wma) 这个未注册提示。。
接着OD载入。。
下 bp __vbaStrCmp 这个断点。。运行
这时候我们注意堆栈,当出现
0012F79C 00412567 返回到 2.00412567 来自 MSVBVM60.__vbaStrCmp
0012F7A0 0017674C UNICODE "1111111111111111"
0012F7A4 001761DC UNICODE "[^R*aKBz"
0012F7A8 0012F830
0012F7AC 0012F900
0012F7B0 00000001
0012F7B4 0012FB00
0012F7B8 77D40457 USER32.77D40457
0012F7BC 77D1D560 USER32.77D1D560
我们输入的假码时候就是返回时机了。。
00412561 . FF15 B8104000 call dword ptr ds:[<&MSVBVM60.__vbaStrCm>; MSVBVM60.__vbaStrCmp
00412567 . 85C0 test eax,eax 返回到这里,
00412569 . 0F84 33020000 je 2.004127A2 这个跳转我们修改为JNZ或JMP都可以。。
0041256F . 8B0E mov ecx,dword ptr ds:[esi]
00412571 . 56 push esi
00412572 . FF91 10040000 call dword ptr ds:[ecx+410]
修改好之后保存,再运行,现在就已经是注册版的了 |
|