- UID
- 2198
注册时间2005-6-29
阅读权限255
最后登录1970-1-1
副坛主
该用户从未签到
|
CD to MP3 Ripper 5.20
软件大小:8847KB
软件类别:国外软件/音频工具
下载次数:5877
软件授权:共享版
软件语言:英文
运行环境:Win9x/Me/NT/2000/XP/2003
更新时间:2006-12-10 11:20:29
软件详细信息
CD to MP3 Ripper能够从音频CD中抓取音轨,并将它们保存成MP3、WAV、WMA、VQF以及OGG的音频格式。它快速、易用,而且功能强大。该软件具有丰富的选项,以便能够满足你特殊的要求。MP3解码器支持CBR(固定比特率)和VBR(变量比特率),同时还具有4种模式,分别是立体声、联合立体声、单声道和双声道。
官方站点:http://www.mp3-ripper.net/
官方下载1:http://www.goodeasy.net/download/mp3ripper.exe
官方下载2:http://www.software-download.us/mp3ripper.exe
官方下载3:http://www.mp3-ripper.net/mp3ripper.exe
华军下载:http://www.newhua.com/soft/6128.htm
我们OD载入,从程序入口点看到“call <jmp.&MSVBVM60.#100>”,我们基本上就可以断定该程序为VB所写。
00403004 > $ 68 C4804000 push 004080C4 ; (initial cpu selection)
00403009 . E8 EEFFFFFF call <jmp.&MSVBVM60.#100>
运行软件,出现注册对话框,我们随意输入信息,看一下软件给我们的提示。
我们右键:FIND UNICODE,找到关键字符串。
0045D4FF > \8B35 58124000 mov esi, dword ptr [<&MSVBVM60.__vba>; 这里我们可以看到“注册失败的提示框”来自上方的跳转
0045D505 . BB 08000000 mov ebx, 8
0045D50A . 8D95 74FFFFFF lea edx, dword ptr [ebp-8C]
0045D510 . 8D4D B4 lea ecx, dword ptr [ebp-4C]
0045D513 . 899D 74FFFFFF mov dword ptr [ebp-8C], ebx
0045D519 . FFD6 call esi ; <&MSVBVM60.__vbaVarDup>
0045D51B . 8D55 84 lea edx, dword ptr [ebp-7C]
0045D51E . 8D4D C4 lea ecx, dword ptr [ebp-3C]
0045D521 . C745 8C 60AB4>mov dword ptr [ebp-74], 0041AB60 ; registration failed!
我们沿着跳转的路径向上找,来到这里:
0045D424 . E8 37290000 call 0045FD60 ; 在此下断,我们跟近算法CALL
0045D429 . 66:85C0 test ax, ax ; 又是标志位比较
0045D42C . B9 04000280 mov ecx, 80020004
0045D431 . B8 0A000000 mov eax, 0A
0045D436 . 894D 9C mov dword ptr [ebp-64], ecx
0045D439 . 8945 94 mov dword ptr [ebp-6C], eax
0045D43C . 894D AC mov dword ptr [ebp-54], ecx
0045D43F . 8945 A4 mov dword ptr [ebp-5C], eax
0045D442 . 89B5 7CFFFFFF mov dword ptr [ebp-84], esi
0045D448 . 0F84 B1000000 je 0045D4FF ; 若上方算法CALL返回的ax数值为0,则这里跳向注册失败处
0045D44E . 8B35 58124000 mov esi, dword ptr [<&MSVBVM60.__vba>; MSVBVM60.__vbaVarDup
0045D454 . 8D95 74FFFFFF lea edx, dword ptr [ebp-8C]
0045D45A . 8D4D B4 lea ecx, dword ptr [ebp-4C]
0045D45D . C785 74FFFFFF>mov dword ptr [ebp-8C], 8
0045D467 . FFD6 call esi ; <&MSVBVM60.__vbaVarDup>
0045D469 . 8D55 84 lea edx, dword ptr [ebp-7C]
0045D46C . 8D4D C4 lea ecx, dword ptr [ebp-3C]
0045D46F . C745 8C 2CAB4>mov dword ptr [ebp-74], 0041AB2C ; registration succeeded!
我们F7跟进算法CALL后来到这里:
0045FD60 55 push ebp
0045FD61 8BEC mov ebp, esp
0045FD63 83EC 14 sub esp, 14
0045FD66 . 68 A62B4000 push <jmp.&MSVBVM60.__vbaExceptHandle>; SE 处理程序安装
0045FD6B . 64:A1 0000000>mov eax, dword ptr fs:[0]
暴破方案1:
0045FD60 33C0 xor eax, eax
0045FD62 40 inc eax
0045FD63 C3 retn
暴破方案2:
0045FD60 66:B8 0100 mov ax, 1 //直接对AX赋值为1
0045FD64 C3 retn
暴破方法3和4:
既然这里是判断AX的标志位比较,那我们到算法CALL中来找寻一下,是哪句指令给AX赋值。
我们在算法CALL中向下找,OK,我们在算法CALL结束处看到这句赋值指令:
004600B6 . 66:8B45 D8 mov ax, word ptr [ebp-28]
将word ptr [ebp-28]赋值给AX,我们看下信息窗口,发现此时word ptr [ebp-28]数值为0,而AX数值不为0,则可NOP掉该行,或是修改为:mov ax, 1
004600B6 . 66:8B45 D8 mov ax, word ptr [ebp-28] ;暴破关键点:可NOP掉该行,或是修改为:mov ax, 1
004600BA . 8B4D E4 mov ecx, dword ptr [ebp-1C]
004600BD . 64:890D 00000>mov dword ptr fs:[0], ecx
004600C4 . 5F pop edi
004600C5 . 5E pop esi
004600C6 . 5B pop ebx
004600C7 . 8BE5 mov esp, ebp
004600C9 . 5D pop ebp
004600CA . C3 retn
004600CB > FF15 F8114000 call dword ptr [<&MSVBVM60.__vbaError>; MSVBVM60.__vbaErrorOverflow
OK,综上几种方案均可暴破.如果软件使用标志位来作为是否注册成功的依据,我们最简便的方法就是找到向标志位赋值处,修改数值.
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入我们
x
|