天天音频转换专家【破文】
【文章标题】: 天天音频转换专家 V5.60 Build 051101 贵宾版【文章作者】: 斌少
【软件名称】: 天天音频转换专家 V5.60 Build 051101 贵宾版
【下载地址】: http://tele.skycn.com/soft/24472.html
【编写语言】: VB
【使用工具】: OD C32ASM PEID
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
嘿嘿~~有点乱 大家别介意~~~
【详细过程】
PEID先查壳:Microsoft Visual Basic 5.0 / 6.0
OD载入因为这个软件关闭的时候会弹一个网页(鄙视这种做法) 所遇我们还是先来搞定他的网页吧
00401A20 .- FF25 58114000 jmp dword ptr ds:[<&MSVBVM60.#320>] ;MSVBVM60.PutMemEvent
00401A26 .- FF25 64114000 jmp dword ptr ds:[<&MSVBVM60.#321>] ;MSVBVM60.SetMemEvent
00401A2C $- FF25 4C114000 jmp dword ptr ds:[<&MSVBVM60.#100>] ;MSVBVM60.ThunRTMain
00401A32 00 db 00
00401A33 00 db 00
00401A34 > $68 B4204000 push tt.004020B4 ;停在这里 一看就知道这是一个VB的程序 大家一定要熟悉各种语言的入口特征
00401A39 .E8 EEFFFFFF call <jmp.&MSVBVM60.#100>
00401A3E .0000 add byte ptr ds:,al
00401A40 .0000 add byte ptr ds:,al
00401A42 .0000 add byte ptr ds:,al
00401A44 .3000 xor byte ptr ds:,al
这里就不能查找ASCII了 因为这个是VB的程序 所以只好查找UNICODE了 找到他弹的那个网页地址【http://www.httpoo.com】
超级字串参考, 条目 18
地址=00413693
反汇编=mov edx,tt.0040528C
文本字串=http://www.httpoo.com
双击进去看看 往上走走 发现一个跳转 把它改为JMP就可以跳过去了
00413684 .8B46 64 mov eax,dword ptr ds:
00413687 .52 push edx
00413688 .50 push eax
00413689 .FF15 B8104000 call dword ptr ds:[<&MSVBVM60.__vbaStrCm>;MSVBVM60.__vbaStrCmp
0041368F .85C0 test eax,eax
00413691 .74 3E je short tt.004136D1 ;//这个跳转可以跳过他弹出的网页
00413693 .BA 8C524000 mov edx,tt.0040528C ;http://www.httpoo.com
00413698 .8D4D E4 lea ecx,dword ptr ss:
0041369B .FF15 34114000 call dword ptr ds:[<&MSVBVM60.__vbaStrCo>;MSVBVM60.__vbaStrCopy
004136A1 .8B0E mov ecx,dword ptr ds:
004136A3 .8D55 E0 lea edx,dword ptr ss:
004136A6 .8D45 E4 lea eax,dword ptr ss:
我们打开文件目录会发现里面有tt.ini 打开看看就会发现我们刚才输入的用户密码都保存再这里由此可以推断 这个程序是
ini文件类型的 那我们就下读取ini文件段点来 bp GetPrivateProfileStringA 下好后运行
看堆栈:
0012FA00 0041FB9A/CALL 到 GetPrivateProfileStringA 来自 tt.0041FB95
0012FA04 00150D5C|Section = "system"
0012FA08 001501C4|Key = "user"
0012FA0C 00000000|Default = NULL
0012FA10 0014F844|ReturnBuffer = 0014F844
0012FA14 00000064|BufSize = 64 (100.)
0012FA18 0014EE9C\IniFileName = "C:\Program Files\『天天音频转换专家』\tt.ini" //读取ini文件
0012FA1C 660E610EMSVBVM60.__vbaStrCopy
Alt+F9返回到用户代码
往上走走会发现由一个跳转可以跳过去
0041FB19 .FF92 18070000 call dword ptr ds:
0041FB1F .66:397D AC cmp word ptr ss:,di
0041FB23 .0F85 FA000000 jnz tt.0041FC23 ;这里可以跳过读取ini文件 把它改为JMP
0041FB29 .8B5D 14 mov ebx,dword ptr ss:
0041FB2C .8D55 C0 lea edx,dword ptr ss:
保存文件看看 发现可以直接打开文件了 可是一点击开始转换就提示未注册 那么只好重新来了 这次用C32来打开我们蹂躏后的软件
Ctrl+K查看字符串 再用UNICODE分析一下 往下看就会发现一个和刚才弹出来的错误窗口一样的位置 记下地址 再OD中Ctrl+G来到这个地方
::00412587::68 B8514000 PUSH 4051B8 \->: 选择影音文件(未注册版,只能转换为wma)
::0041258C::50 PUSH EAX
::0041258D::8945 A8 MOV DWORD PTR , EAX
::00412590::FF91 A4000000 CALL NEAR DWORD PTR
::00412596::85C0 TEST EAX, EAX
::00412598::DBE2 FCLEX
::0041259A::7D 11 JGE SHORT 004125AD \:JMPDOWN
::0041259C::8B55 A8 MOV EDX, DWORD PTR
::0041259F::68 A4000000 PUSH A4
来看看再OD中跟随的样子
00412561 .FF15 B8104000 call dword ptr ds:[<&MSVBVM60.__vbaStrCm>;关键CALL
00412567 .85C0 test eax,eax ;比较EAX
00412569 .0F84 33020000 je tt.004127A2 ;这个跳转可以跳过错误窗口 改为JMP
0041256F .8B0E mov ecx,dword ptr ds:
00412571 .56 push esi
00412572 .FF91 10040000 call dword ptr ds:
00412578 .8B1D 74104000 mov ebx,dword ptr ds:[<&MSVBVM60.__vbaOb>;MSVBVM60.__vbaObjSet
0041257E .8D55 D8 lea edx,dword ptr ss:
00412581 .50 push eax
00412582 .52 push edx
00412583 .FFD3 call ebx ;<&MSVBVM60.__vbaObjSet>
00412585 .8B08 mov ecx,dword ptr ds:
00412587 .68 B8514000 push tt.004051B8 ;这里就是错误窗口了
0041258C .50 push eax
保存下发现已经显示【已注册了】
--------------------------------------------------------------------------------
【经验总结】
破解是能力,共享是精神
-------------------------------------------------------------------------------- 破解是能力,共享是精神
膜拜楼主 鼓励原创 :loveliness:
期待楼主的注册机 00412561 .FF15 B8104000 call dword ptr ds:[<&MSVBVM60.__vbaStrCm>;
这人是VB的字符串比较吧,不是关键CALL呢,这个CALL上面一个有2个PUSH的数据,就是用来比较的~ 弹网页的问题:
bprtcShell 或者bp ShellExecuteA能断下吗? 原帖由 Squn 于 2008-12-29 14:45 发表 http://www.52pojie.cn/images/common/back.gif
弹网页的问题:
bprtcShell 或者bp ShellExecuteA能断下吗?
我直接用最可爱的方法 跳过去算了 原程序怎么安装不了。在字库的时候就死了。
只用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:
0041369B .FF15 34114000 call dword ptr ds:[<&MSVBVM60.__vbaStrCo>;MSVBVM60.__vbaStrCopy
004136A1 .8B0E mov ecx,dword ptr ds:
004136A3 .8D55 E0 lea edx,dword ptr ss:
004136A6 .8D45 E4 lea eax,dword ptr ss:
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 660E610EMSVBVM60.__vbaStrCopy
说明断下来了,我们AIT+F9返回
0041FB18 .56 push esi
0041FB19 .FF92 18070000 call dword ptr ds:
0041FB1F .66:397D AC cmp word ptr ss:,di
0041FB23 .0F85 FA000000 jnz 1.0041FC23 修改为JMP
0041FB29 .8B5D 14 mov ebx,dword ptr ss:
0041FB2C .8D55 C0 lea edx,dword ptr ss:
0041FB2F .8B0B mov ecx,dword ptr ds:
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:
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:
0041FB48 .FF15 7C114000 call dword ptr ds:[<&MSVBVM60.__vbaStrMo>;MSVBVM60.__vbaStrMove
0041FB4E .8D4D C0 lea ecx,dword ptr ss:
0041FB51 .FF15 1C104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeV>;MSVBVM60.__vbaFreeVar
0041FB57 .8B4E 38 mov ecx,dword ptr ds:
0041FB5A .8D7E 38 lea edi,dword ptr ds:
0041FB5D .8B35 5C114000 mov esi,dword ptr ds:[<&MSVBVM60.__vbaSt>;MSVBVM60.__vbaStrToAnsi
0041FB63 .8D55 D0 lea edx,dword ptr ss:
0041FB66 .51 push ecx
0041FB67 .52 push edx
0041FB68 .FFD6 call esi ;<&MSVBVM60.__vbaStrToAnsi>
0041FB6A .8B4D E0 mov ecx,dword ptr ss:
0041FB6D .50 push eax
0041FB6E .8B03 mov eax,dword ptr ds:
0041FB70 .8D55 D4 lea edx,dword ptr ss:
0041FB73 .50 push eax
0041FB74 .51 push ecx
0041FB75 .52 push edx
0041FB76 .FFD6 call esi
0041FB78 .8B5D 10 mov ebx,dword ptr ss:
0041FB7B .50 push eax
0041FB7C .6A 00 push 0
0041FB7E .8D4D D8 lea ecx,dword ptr ss:
0041FB81 .8B03 mov eax,dword ptr ds:
0041FB83 .50 push eax
0041FB84 .51 push ecx
0041FB85 .FFD6 call esi
0041FB87 .8B55 0C mov edx,dword ptr ss:
0041FB8A .50 push eax
0041FB8B .8D4D DC lea ecx,dword ptr ss:
0041FB8E .8B02 mov eax,dword ptr ds:
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:,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 0017674CUNICODE "1111111111111111"
0012F7A4 001761DCUNICODE "[^R*aKBz"
0012F7A8 0012F830
0012F7AC 0012F900
0012F7B0 00000001
0012F7B4 0012FB00
0012F7B8 77D40457USER32.77D40457
0012F7BC 77D1D560USER32.77D1D560
我们输入的假码时候就是返回时机了。。
00412561 .FF15 B8104000 call dword ptr ds:[<&MSVBVM60.__vbaStrCm>;MSVBVM60.__vbaStrCmp
00412567 .85C0 test eax,eax 返回到这里,
00412569 .0F84 33020000 je2.004127A2 这个跳转我们修改为JNZ或JMP都可以。。
0041256F .8B0E mov ecx,dword ptr ds:
00412571 .56 push esi
00412572 .FF91 10040000 call dword ptr ds:
修改好之后保存,再运行,现在就已经是注册版的了 谢谢!!! 学习了,祝楼主元旦快乐。
页:
[1]