[明码和暴破]CD to MP3 Ripper 5.20 注册分析

上一篇 / 下一篇  2008-11-27 08:09:01

IXPUB技术博客M/~ C0iS9K.[ `:z r

软件名称:CD to MP3 Ripper 5.20
VU$c5R*^c:A0软件介绍:Advanced CD Ripper ProIXPUB技术博客P] G"Y1g aG8j
Advanced CD Ripper Pro is a powerful software for ripping audio CD tracks to files of audio formats MP3, WAV, WMA, and OGG Vorbis on-the-fly. It uses Lame encoder of newest version(3.9.31) that supports full MP3 options with VBR properties. also is a support WMA v9 encode(VBR also supported). Free CDDB is supported, and you may even set proxy for submitting or querying free CDDB. As to MP3 ID3 tag, it supports both V1 and V2. It also supports normalize function when ripping. And it’s also a good CD player, highlight each list to play it, or save the CD tracks to output playlist of formats PLS, HTML, M3U, or XML. Easily rename every track’s title in the list, and support powerful local CD database. also support cue file output.
|;D7v0{1r3r0官方下载:http://www.mp3-ripper.net/

t]P8L1c V V0

x`*jS9tX0我们打开软件,随意输入注册信息,点确定,弹出错误对话窗口:Your serial number have not been accept.please try again!

2Q+V%\8R8k;?:w@0IXPUB技术博客8_:E8LU _g3QR

PEiD查壳:ASPack 2.12 -> Alexey SolodovnikovIXPUB技术博客*b1b/T9r~(OP~*z
我们带壳调试,ESP定律到OEP.删除内存断点.
/R0d!HY#D0
]f"Y kk9B-_0从OEP入口可以得出软件Delphi所写,我们搜索ASCII,找到关键字符串.
)rNk3r9?000554ED8=00554ED8 (ASCII "Your serial number have not been accept.",LF,CR,"please try again!")IXPUB技术博客 jO2E:gl4JG
IXPUB技术博客.Q4G7S\t7]W

4QS }-CY0双击来到CUP面版.我们往上走一点,看到一个明显的标志位比较,故在此下断.
b%}DVNpo.]-@t*wR0
3CIX[)R.?000554E45    E8 5A160000     call    005564A4                         ; 算法CALL 我们在这里下断 我们F7跟进.IXPUB技术博客[ {Y$G'Q$Y M
00554E4A    84C0            test    al, al                           ; 标志位比较
@"a geN.? _'@000554E4C    74 0E           je      short 00554E5C
"^dc6q;B;zY-jsx000554E4E    A1 EC8F5600     mov     eax, dword ptr [568FEC]IXPUB技术博客bn#T$gG2@)E7M
00554E53    8B00            mov     eax, dword ptr [eax]
Gw.I3AtO d"{000554E55    E8 021C0000     call    00556A5C                         ; 这里弹出注册成功对话框IXPUB技术博客;Q6W{yp@ ^
00554E5A    EB 46           jmp     short 00554EA2
]m.])R$q9l^,}6w0
:W}Ri"[+t0关键CALL  F7跟进后:
B J+g?&^CLaB0IXPUB技术博客E D/R aYXZ3K
005564A9    51              push    ecxIXPUB技术博客z3oqv|?]$f[+G?
005564AA    51              push    ecx
[)hJ V qw0[v.jJ0005564AB    51              push    ecxIXPUB技术博客)oY9i'xDoxW
005564AC    51              push    ecxIXPUB技术博客VeFr7`uR{fT2L
005564AD    53              push    ebx
;JSux!{ vWG0005564AE    33C0            xor     eax, eaxIXPUB技术博客/qK$c|M
005564B0    55              push    ebp
FF)~T4@rL0005564B1    68 7C655500     push    0055657CIXPUB技术博客$h/P-B?S*LS
005564B6    64:FF30         push    dword ptr fs:[eax]
%E.kN3q.V1v%F0005564B9    64:8920         mov     dword ptr fs:[eax], esp
%q y|#eSu0005564BC    8D55 FC         lea     edx, dword ptr [ebp-4]
7{{#UF;p_T/oN0005564BF    A1 AC8E5600     mov     eax, dword ptr [568EAC]
X'O#d5d6R4_Fp8q T#c0005564C4    8B00            mov     eax, dword ptr [eax]
L?J8|C(p9AbV0005564C6    8B80 00030000   mov     eax, dword ptr [eax+300]
,m2|w7`0`Id0005564CC    E8 C756F6FF     call    004BBB98IXPUB技术博客^](A9C2S,wx6T
005564D1    68 F8C35600     push    0056C3F8IXPUB技术博客Kw:r*tlk
005564D6    8D45 F4         lea     eax, dword ptr [ebp-C]
S%yQ^ XA0005564D9    50              push    eaxIXPUB技术博客TZZ c+gDO~\
005564DA    B1 01           mov     cl, 1
i?d%z6a6x0005564DC    BA 94655500     mov     edx, 00556594                    ; ripperIXPUB技术博客7X lQ3m!e
005564E1    B8 A4655500     mov     eax, 005565A4                    ; 06000000000000004172a854bd9fc967dfb8252b86611bd8IXPUB技术博客|w V9S,W D|Bq
005564E6    E8 EDE3FFFF     call    005548D8                         ; 跟进该CALL 我们得到一个固定值 kingqcIXPUB技术博客1WdK a)e cGu
005564EB    8B45 F4         mov     eax, dword ptr [ebp-C]           ; 固定值kingqc进EAXIXPUB技术博客U ]9}} bT+tQ v
005564EE    B9 06000000     mov     ecx, 6
%zd$bWgI0005564F3    33D2            xor     edx, edxIXPUB技术博客1OB9_L m(E
005564F5    E8 F2E9EAFF     call    00404EEC
%o aQK+Z:\Bt{0005564FA    68 E0655500     push    005565E0                         ; acrp26-
!xg#^DRu~0005564FF    FF35 F8C35600   push    dword ptr [56C3F8]
0z%f"?;Sos!ti T X000556505    68 F0655500     push    005565F0                         ; -2006IXPUB技术博客p+GFt*B7\L.V
0055650A    8D45 F8         lea     eax, dword ptr [ebp-8]IXPUB技术博客2]_e*C pf5Qc
0055650D    BA 03000000     mov     edx, 3
e5x9z-z/{bz5v1l+R4j000556512    E8 3DE8EAFF     call    00404D54                         ; 这里将上方的三个固定值连接 形成注册码IXPUB技术博客"J4^5gi\jD
00556517    8D55 F0         lea     edx, dword ptr [ebp-10]IXPUB技术博客$h e"\8[(G m
0055651A    A1 AC8E5600     mov     eax, dword ptr [568EAC]IXPUB技术博客obLx4n(Q(z
0055651F    8B00            mov     eax, dword ptr [eax]
Sj}i fB/f000556521    8B80 04030000   mov     eax, dword ptr [eax+304]
O]6|[!? k:B]+Q W000556527    E8 6C56F6FF     call    004BBB98IXPUB技术博客L,T)Phb"I
0055652C    8B45 F0         mov     eax, dword ptr [ebp-10]
2i-~,o E_O2A.I00055652F    8B55 F8         mov     edx, dword ptr [ebp-8]IXPUB技术博客+WaZ;W0k)B'Y6?\lDq
00556532    E8 A1E8EAFF     call    00404DD8                         ; 这里真假码出现比较
M4? P/I&i)[(d:w000556537    75 1E           jnz     short 00556557                   ; 不相等则跳走 这里如果暴破 则向系统写入正确信息IXPUB技术博客qmO'J k'n1aI O8r
00556539    B3 01           mov     bl, 1                            ; 若不跳走 为标志位BL赋值为1IXPUB技术博客5Wq0j f"M ~8A$J g
0055653B    B8 F0C35600     mov     eax, 0056C3F0
(Q-VXHZ5m Y000556540    8B55 FC         mov     edx, dword ptr [ebp-4]
%_C3pZ-Y U000556543    E8 D8E4EAFF     call    00404A20IXPUB技术博客 ~/WjOd9l5_ EZq
00556548    B8 F4C35600     mov     eax, 0056C3F4
1Lr5d e V00055654D    8B55 F8         mov     edx, dword ptr [ebp-8]
J8ma-?U9|Z000556550    E8 CBE4EAFF     call    00404A20
Q`&n.Ci$b7Hq000556555    EB 02           jmp     short 00556559
j mN][Q(S0z x000556557    33DB            xor     ebx, ebx                         ; 若跳走 XOR异或 清零EBXIXPUB技术博客&eCn%~9s)\
00556559    33C0            xor     eax, eax                         ; 上方JMP跳到这里 清零EAXIXPUB技术博客*P@3m }$X z#J
0055655B    5A              pop     edx
1zzgrC2B00055655C    59              pop     ecxIXPUB技术博客/@g:d/mEW3F(zh
0055655D    59              pop     ecx
7LM*~J bE6PO]$Y/U00055655E    64:8910         mov     dword ptr fs:[eax], edx
\$[KMs*H000556561    68 83655500     push    00556583
`4nm#b*P J000556566    8D45 F0         lea     eax, dword ptr [ebp-10]IXPUB技术博客zQ;K[9|T^e!K
00556569    E8 5EE4EAFF     call    004049CC
}EPQ.db"o00055656E    8D45 F4         lea     eax, dword ptr [ebp-C]
0J({3L-L_6Fcc ^;S{8Q000556571    BA 03000000     mov     edx, 3IXPUB技术博客7\4p1Q#I&n
00556576    E8 75E4EAFF     call    004049F0IXPUB技术博客7U^q\#b Vh'yb
0055657B    C3              retnIXPUB技术博客1rD:Uf}-Az'mIQ
0055657C  ^ E9 EFDDEAFF     jmp     00404370IXPUB技术博客 CQ"D HfD`3X'_
00556581  ^ EB E3           jmp     short 00556566IXPUB技术博客4O0J+qU#s(?
00556583    8BC3            mov     eax, ebx                         ; 这里将上方赋予BL标志位的数值1传递给EAXIXPUB技术博客9AA{'V/SX s8p
00556585    5B              pop     ebxIXPUB技术博客/^(Xu"]-k
00556586    8BE5            mov     esp, ebp
'x7RX?WS000556588    5D              pop     ebpIXPUB技术博客!kdf&u E^,P-J
00556589    C3              retn
1iEbK O8j0IXPUB技术博客G;_9o u+p$G
注册文件保存在软件的安装文件夹ripper.cfg文件中,我们用记事本打开:
1GW3M)H ]dd0[reg]
kdY#D R p9l0Name=Nisy
*zV7wTz&yl0Pass=acrp26-kingqc-2006IXPUB技术博客f`-hU(i|P"F%z
check=kingqcIXPUB技术博客/k{7{(xv%r O0H

+k"W#uJ1P3Y0总结一下:IXPUB技术博客7Z5u L%A-{
00556532    E8 A1E8EAFF     call    00404DD8                         ; 这里真假码出现比较 这里可写内存注册机(固定KEY无需写)IXPUB技术博客,k3VX z4]3VD:C+^8O"d7]
00556537    75 1E           jnz     short 00556557                     ; 不相等则跳走 这里如果暴破 则向系统写入正确信息IXPUB技术博客 O"J&@En
IXPUB技术博客 _5f'~__^
软件验证思路设计中的败笔:
!?ZtKi01.算法没有可研究性,几个固定值的拼接.并且软件为单一注册码.IXPUB技术博客QZ ]#P!Mv `
2.修改关键跳转后向系统写入正确注册信息.
IXPUB技术博客BMn0V P&E%VhW

9SZTN5EX0IXPUB技术博客r I*zoX


3

3

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar