吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6499|回复: 8
收起左侧

[分享] 天天音频转换专家【破文】

[复制链接]
qq513701092 发表于 2008-12-29 09:48
【文章标题】: 天天音频转换专家 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:[eax],al
  00401A40   .  0000          add byte ptr ds:[eax],al
  00401A42   .  0000          add byte ptr ds:[eax],al
  00401A44   .  3000          xor byte ptr ds:[eax],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:[esi+64]
  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:[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]
  
  我们打开文件目录会发现里面有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   660E610E  MSVBVM60.__vbaStrCopy
  
  Alt+F9返回到用户代码
  
  往上走走会发现由一个跳转可以跳过去
  
  0041FB19   .  FF92 18070000 call dword ptr ds:[edx+718]
  0041FB1F   .  66:397D AC    cmp word ptr ss:[ebp-54],di
  0041FB23   .  0F85 FA000000 jnz tt.0041FC23                          ;  这里可以跳过读取ini文件 把它改为JMP
  0041FB29   .  8B5D 14       mov ebx,dword ptr ss:[ebp+14]
  0041FB2C   .  8D55 C0       lea edx,dword ptr ss:[ebp-40]
   
  保存文件看看 发现可以直接打开文件了 可是一点击开始转换就提示未注册 那么只好重新来了 这次用C32来打开我们蹂躏后的软件
  
  Ctrl+K查看字符串 再用UNICODE分析一下 往下看就会发现一个和刚才弹出来的错误窗口一样的位置 记下地址 再OD中Ctrl+G来到这个地方
  
  ::00412587::  68 B8514000              PUSH 4051B8                                 \->: 选择影音文件(未注册版,只能转换为wma)
  ::0041258C::  50                       PUSH EAX                                
  ::0041258D::  8945 A8                  MOV DWORD PTR [EBP-58], EAX            
  ::00412590::  FF91 A4000000            CALL NEAR DWORD PTR [ECX+A4]            
  ::00412596::  85C0                     TEST EAX, EAX                           
  ::00412598::  DBE2                     FCLEX                                   
  ::0041259A::  7D 11                    JGE SHORT 004125AD                      \:JMPDOWN
  ::0041259C::  8B55 A8                  MOV EDX, DWORD PTR [EBP-58]            
  ::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:[esi]
  00412571   .  56            push esi
  00412572   .  FF91 10040000 call dword ptr ds:[ecx+410]
  00412578   .  8B1D 74104000 mov ebx,dword ptr ds:[<&MSVBVM60.__vbaOb>;  MSVBVM60.__vbaObjSet
  0041257E   .  8D55 D8       lea edx,dword ptr ss:[ebp-28]
  00412581   .  50            push eax
  00412582   .  52            push edx
  00412583   .  FFD3          call ebx                                 ;  <&MSVBVM60.__vbaObjSet>
  00412585   .  8B08          mov ecx,dword ptr ds:[eax]
  00412587   .  68 B8514000   push tt.004051B8                         ;  这里就是错误窗口了
  0041258C   .  50            push eax
  
  保存下  发现已经显示【已注册了】
  
--------------------------------------------------------------------------------
【经验总结】
  
  
                                        破解是能力,共享是精神
                                    
  
--------------------------------------------------------------------------------

免费评分

参与人数 1威望 +1 收起 理由
Hmily + 1 精品文章

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

wgz001 发表于 2008-12-29 10:12
破解是能力,共享是精神
                                    
  膜拜楼主     鼓励原创   

   期待楼主的注册机
Hmily 发表于 2008-12-29 10:14
00412561   .  FF15 B8104000 call dword ptr ds:[<&MSVBVM60.__vbaStrCm>;  

这人是VB的字符串比较吧,不是关键CALL呢,这个CALL上面一个有2个PUSH的数据,就是用来比较的~
Squn 发表于 2008-12-29 14:45
弹网页的问题:
bp  rtcShell 或者bp ShellExecuteA能断下吗?
 楼主| qq513701092 发表于 2008-12-29 14:47
原帖由 Squn 于 2008-12-29 14:45 发表
弹网页的问题:
bp  rtcShell 或者bp ShellExecuteA能断下吗?



  我直接用最可爱的方法 跳过去算了
CHHSun 发表于 2008-12-29 15:26
原程序怎么安装不了。在字库的时候就死了。
liuxingyuu 发表于 2008-12-29 17:39

只用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]


修改好之后保存,再运行,现在就已经是注册版的了
99901 发表于 2008-12-31 19:52
谢谢!!!
swl 发表于 2008-12-31 22:08
学习了,祝楼主元旦快乐。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 20:27

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表