[明码和暴破]CD to MP3 Ripper 5.20 注册分析
软件名称: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/
x`*jS9tX0我们打开软件,随意输入注册信息,点确定,弹出错误对话窗口:Your serial number have not been accept.please try again!
2Q+V%\8R8k;?:w @0IXPUB技术博客8_:E8LU_g3QRPEiD查壳: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.I3AtOd"{000554E55 E8 021C0000 call 00556A5C ; 这里弹出注册成功对话框IXPUB技术博客;Q6W{yp@
^
00554E5A EB 46 jmp short 00554EA2
]m.])R$q9l^,}6w0
:W}Ri"[+t0关键CALL F7跟进后:
BJ+g ?&^CLaB0IXPUB技术博客ED/R aYXZ3K
005564A9 51 push ecxIXPUB技术博客z3oqv|?]$f[+G?
005564AA 51 push ecx
[)hJV
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
F F)~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,w x6T
005564D1 68 F8C35600 push 0056C3F8IXPUB技术博客K w: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技术博客7XlQ3m!e
005564E1 B8 A4655500 mov eax, 005565A4 ; 06000000000000004172a854bd9fc967dfb8252b86611bd8IXPUB技术博客|w V9S,W D|Bq
005564E6 E8 EDE3FFFF call 005548D8 ; 跟进该CALL 我们得到一个固定值 kingqcIXPUB技术博客1WdKa)e cGu
005564EB 8B45 F4 mov eax, dword ptr [ebp-C] ; 固定值kingqc进EAXIXPUB技术博客U]9}}
bT+tQv
005564EE B9 06000000 mov ecx, 6
%zd$bWgI0005564F3 33D2 xor edx, edxIXPUB技术博客1OB9_Lm(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 TX000556505 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[(Gm
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]+QW000556527 E8 6C56F6FF call 004BBB98IXPUB技术博客L,T)P hb"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'n1aIO8r
00556539 B3 01 mov bl, 1 ; 若不跳走 为标志位BL赋值为1IXPUB技术博客5Wq0jf"M
~8A$J g
0055653B B8 F0C35600 mov eax, 0056C3F0
(Q-VXHZ5mY000556540 8B55 FC mov edx, dword ptr [ebp-4]
%_C3pZ-Y
U000556543 E8 D8E4EAFF call 00404A20IXPUB技术博客 ~/WjOd9l5_ EZq
00556548 B8 F4C35600 mov eax, 0056C3F4
1Lr5de
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
}$Xz#J
0055655B 5A pop edx
1zzgrC2B00055655C 59 pop ecxIXPUB技术博客/@g:d/mEW3F(zh
0055655D 59 pop ecx
7LM*~JbE6PO]$Y/U00055655E 64:8910 mov dword ptr fs:[eax], edx