- UID
- 30090
注册时间2007-4-1
阅读权限10
最后登录1970-1-1
周游历练
该用户从未签到
|
【破文标题】MP3 WMA Cutter2.0破解全攻略
【破文作者】秋风下的落叶
【作者邮箱】[email protected]
【作者主页】http://it.ee044.com
【破解工具】od、peid
【破解平台】xp sp2
【软件名称】MP3 WMA Cutter
【原版下载】http://www.newhua.com/soft/60426.htm
【软件大小】2.63mb
【保护方式】Borland Delphi 6.0-7.0
【软件简介】MP3 WMA Cutter 支持对 MP3, WAV, WMA 和 OGG 音频文件进行批处理方式剪辑,你可以从大尺寸的音频文件剪切出片段并且可以将其转换成 MP3、WAV、WMA、OGG 音频文件,MP3 WMA Cutter 内置了小巧的ID3-TAG 编辑器,这样你可以对建立的文件编辑其标题、艺术家、专辑、时间、音轨、流派和评论信息
------------------------------------------------------------------------------------------------
【破解声明】我是一个小菜
------------------------------------------------------------------------------------------------
【破解过程】
一、用peid查壳,delphi程序,没有壳。运行程序,输入用户名和注册码
注册,错误提示"invalid register code! please retry!"
二、用od载入程序,查找字符串“invalid register code! please retry!”,有三四个地方,我们在第一个地方双击,来到
004AE270 |. B8 78E44A00 MOV EAX,MP3_WMA_.004AE478 ; |invalid register code! please retry!
向上滚动一下,在004AE248按f2下断点,然后按f9运行程序,输入用户名跟注册码,注册,程序被成功断了下来
***************************************************************************************************
004AE248 |. 55 PUSH EBP
004AE249 |. 68 5DE44A00 PUSH MP3_WMA_.004AE45D
004AE24E |. 64:FF30 PUSH DWORD PTR FS:[EAX]
004AE251 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
004AE254 |. B3 01 MOV BL,1
004AE256 |. FF05 38EE4C00 INC DWORD PTR DS:[4CEE38]
004AE25C |. 833D 38EE4C00>CMP DWORD PTR DS:[4CEE38],3 ; 注册码小于三位则出错
004AE263 |. 7E 1D JLE SHORT MP3_WMA_.004AE282
004AE265 |. 6A 00 PUSH 0 ; /Arg1 = 00000000
004AE267 |. 66:8B0D 6CE44>MOV CX,WORD PTR DS:[4AE46C] ; |
004AE26E |. B2 02 MOV DL,2 ; |
004AE270 |. B8 78E44A00 MOV EAX,MP3_WMA_.004AE478 ; |invalid register code! please retry!
004AE275 |. E8 727DF8FF CALL MP3_WMA_.00435FEC ; \MP3_WMA_.00435FEC
004AE27A |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004AE27D |. E8 F26EFDFF CALL MP3_WMA_.00485174
004AE282 |> 8D55 F0 LEA EDX,DWORD PTR SS:[EBP-10]
004AE285 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004AE288 |. 8B80 10030000 MOV EAX,DWORD PTR DS:[EAX+310]
004AE28E |. E8 11A7FBFF CALL MP3_WMA_.004689A4
004AE293 |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10] ; 用户名位数进eax
004AE296 |. 8D55 F8 LEA EDX,DWORD PTR SS:[EBP-8] ; 用户名进eax
004AE299 |. E8 56A6F5FF CALL MP3_WMA_.004088F4
004AE29E |. 8D55 EC LEA EDX,DWORD PTR SS:[EBP-14]
004AE2A1 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
004AE2A4 |. E8 7FA6F5FF CALL MP3_WMA_.00408928
004AE2A9 |. 8B55 EC MOV EDX,DWORD PTR SS:[EBP-14]
004AE2AC |. 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
004AE2AF |. E8 2C60F5FF CALL MP3_WMA_.004042E0
004AE2B4 |. BF 15000000 MOV EDI,15
004AE2B9 |. BE D8CB4C00 MOV ESI,MP3_WMA_.004CCBD8 ; edi等于21,准备循环21次
004AE2BE |> 8B45 F8 /MOV EAX,DWORD PTR SS:[EBP-8]
004AE2C1 |. 8B16 |MOV EDX,DWORD PTR DS:[ESI] ; 对比用户名
004AE2C3 |. E8 8C63F5FF |CALL MP3_WMA_.00404654 ; 对比用户名(超级重要的地方)
004AE2C8 |. 75 04 |JNZ SHORT MP3_WMA_.004AE2CE ; 如果我们输入的用户名与软件内置的用户名不同则跳
004AE2CA |. 33DB |XOR EBX,EBX
004AE2CC |. EB 06 |JMP SHORT MP3_WMA_.004AE2D4
004AE2CE |> 83C6 04 |ADD ESI,4
004AE2D1 |. 4F |DEC EDI
004AE2D2 |.^ 75 EA \JNZ SHORT MP3_WMA_.004AE2BE ; 循环21次,软件内置了21个用户名
004AE2D4 |> 84DB TEST BL,BL
004AE2D6 74 1A JE SHORT MP3_WMA_.004AE2F2 ; 输入的用户名如果与软件内置的用户名相同则跳,不跳则错误
004AE2D8 |. 6A 00 PUSH 0 ; /Arg1 = 00000000
004AE2DA |. 66:8B0D 6CE44>MOV CX,WORD PTR DS:[4AE46C] ; |
004AE2E1 |. B2 02 MOV DL,2 ; |
004AE2E3 |. B8 78E44A00 MOV EAX,MP3_WMA_.004AE478 ; |invalid register code! please retry!
004AE2E8 |. E8 FF7CF8FF CALL MP3_WMA_.00435FEC ; \MP3_WMA_.00435FEC
004AE2ED |. E9 30010000 JMP MP3_WMA_.004AE422
004AE2F2 |> 8D55 E8 LEA EDX,DWORD PTR SS:[EBP-18]
004AE2F5 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004AE2F8 |. 8B80 14030000 MOV EAX,DWORD PTR DS:[EAX+314]
004AE2FE |. E8 A1A6FBFF CALL MP3_WMA_.004689A4
004AE303 |. 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18]
004AE306 |. 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C]
004AE309 |. E8 E6A5F5FF CALL MP3_WMA_.004088F4
004AE30E |. 8D55 E4 LEA EDX,DWORD PTR SS:[EBP-1C]
004AE311 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
004AE314 |. E8 0FA6F5FF CALL MP3_WMA_.00408928
004AE319 |. 8B55 E4 MOV EDX,DWORD PTR SS:[EBP-1C]
004AE31C |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
004AE31F |. E8 BC5FF5FF CALL MP3_WMA_.004042E0
004AE324 |. 837D F8 00 CMP DWORD PTR SS:[EBP-8],0
004AE328 |. 0F84 F4000000 JE MP3_WMA_.004AE422
004AE32E |. 837D F4 00 CMP DWORD PTR SS:[EBP-C],0
004AE332 |. 0F84 EA000000 JE MP3_WMA_.004AE422
004AE338 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
004AE33B |. E8 C861F5FF CALL MP3_WMA_.00404508
004AE340 |. 85C0 TEST EAX,EAX
004AE342 |. 7E 35 JLE SHORT MP3_WMA_.004AE379
004AE344 |. BA 01000000 MOV EDX,1
004AE349 |> 8B4D F4 /MOV ECX,DWORD PTR SS:[EBP-C]
004AE34C |. 0FB64C11 FF |MOVZX ECX,BYTE PTR DS:[ECX+EDX-1]
004AE351 |. 83F9 30 |CMP ECX,30 ; 0
004AE354 |. 7C 05 |JL SHORT MP3_WMA_.004AE35B ; 小于则跳
004AE356 |. 83F9 39 |CMP ECX,39 ; 9
004AE359 |. 7E 1A |JLE SHORT MP3_WMA_.004AE375 ; 小于则跳
004AE35B |> 6A 00 |PUSH 0 ; /Arg1 = 00000000
004AE35D |. 66:8B0D 6CE44>|MOV CX,WORD PTR DS:[4AE46C] ; |
004AE364 |. B2 02 |MOV DL,2 ; |
004AE366 |. B8 78E44A00 |MOV EAX,MP3_WMA_.004AE478 ; |invalid register code! please retry!
004AE36B |. E8 7C7CF8FF |CALL MP3_WMA_.00435FEC ; \MP3_WMA_.00435FEC
004AE370 |. E9 AD000000 |JMP MP3_WMA_.004AE422
004AE375 |> 42 |INC EDX
004AE376 |. 48 |DEC EAX
004AE377 |.^ 75 D0 \JNZ SHORT MP3_WMA_.004AE349
004AE379 |> 33DB XOR EBX,EBX
004AE37B |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
004AE37E |. E8 8561F5FF CALL MP3_WMA_.00404508
004AE383 |. 85C0 TEST EAX,EAX
004AE385 |. 7E 13 JLE SHORT MP3_WMA_.004AE39A
004AE387 |. BF 01000000 MOV EDI,1
004AE38C |> 8B55 F8 /MOV EDX,DWORD PTR SS:[EBP-8]
004AE38F |. 0FB6543A FF |MOVZX EDX,BYTE PTR DS:[EDX+EDI-1]
004AE394 |. 03DA |ADD EBX,EDX ; 用户名的ascii相加并将结果放到ebx中
004AE396 |. 47 |INC EDI ; edi自加1
004AE397 |. 48 |DEC EAX ; eax自减1
004AE398 |.^ 75 F2 \JNZ SHORT MP3_WMA_.004AE38C ; 循环,逐位取用户名的ascii
004AE39A |> 69C3 26C11B00 IMUL EAX,EBX,1BC126 ; 用户名ascii相加的结果乘以10进制的1818918并放到eax中
004AE3A0 |. 05 53220000 ADD EAX,2253 ; eax加上10进制的8787
004AE3A5 |. D1F8 SAR EAX,1 ; eax的结果右移一位(即除以2的1次方)
004AE3A7 |. 79 03 JNS SHORT MP3_WMA_.004AE3AC
004AE3A9 |. 83D0 00 ADC EAX,0
004AE3AC |> 8BD8 MOV EBX,EAX ; 将eax的内容放到ebx中
004AE3AE |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] ; 假码
004AE3B1 |. E8 FAA8F5FF CALL MP3_WMA_.00408CB0 ; 假码进eax
004AE3B6 |. 3BD8 CMP EBX,EAX ; 比较eax跟ebx的内容(真假注册码比较)
004AE3B8 75 53 JNZ SHORT MP3_WMA_.004AE40D ; 不相同则跳,跳则死
004AE3BA |. 6A 00 PUSH 0 ; /Arg1 = 00000000
004AE3BC |. 66:8B0D 6CE44>MOV CX,WORD PTR DS:[4AE46C] ; |
004AE3C3 |. B2 02 MOV DL,2 ; |
004AE3C5 |. B8 A8E44A00 MOV EAX,MP3_WMA_.004AE4A8 ; |congratuation! you have successfully registered!
004AE3CA |. E8 1D7CF8FF CALL MP3_WMA_.00435FEC ; \注册成功提示
004AE3CF |. A1 48D24C00 MOV EAX,DWORD PTR DS:[4CD248]
004AE3D4 |. C600 01 MOV BYTE PTR DS:[EAX],1
004AE3D7 |. A1 5CD34C00 MOV EAX,DWORD PTR DS:[4CD35C]
004AE3DC |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
004AE3DE |. 33C9 XOR ECX,ECX
004AE3E0 |. BA 04000000 MOV EDX,4
004AE3E5 |. 8B18 MOV EBX,DWORD PTR DS:[EAX]
004AE3E7 |. FF53 14 CALL DWORD PTR DS:[EBX+14]
004AE3EA |. 8B15 48D24C00 MOV EDX,DWORD PTR DS:[4CD248] ; MP3_WMA_.004CEEB6
004AE3F0 |. A1 5CD34C00 MOV EAX,DWORD PTR DS:[4CD35C]
004AE3F5 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
004AE3F7 |. B9 01000000 MOV ECX,1
004AE3FC |. E8 6B0AF7FF CALL MP3_WMA_.0041EE6C
004AE401 |. A1 34EE4C00 MOV EAX,DWORD PTR DS:[4CEE34]
004AE406 |. E8 696DFDFF CALL MP3_WMA_.00485174
004AE40B |. EB 15 JMP SHORT MP3_WMA_.004AE422
004AE40D |> 6A 00 PUSH 0 ; /Arg1 = 00000000
004AE40F |. 66:8B0D 6CE44>MOV CX,WORD PTR DS:[4AE46C] ; |
004AE416 |. B2 02 MOV DL,2 ; |
004AE418 |. B8 78E44A00 MOV EAX,MP3_WMA_.004AE478 ; |invalid register code! please retry!
004AE41D |. E8 CA7BF8FF CALL MP3_WMA_.00435FEC ; \注册失败提示
004AE422 |> 33C0 XOR EAX,EAX
004AE424 |. 5A POP EDX
004AE425 |. 59 POP ECX
004AE426 |. 59 POP ECX
------------------------------------------------------------------------------------------------
【破解总结】该软件需要用软件内置的用户名才能注册
软件内置的用户名总共有21个,其中一个用户名无法注册(DUISlT6-tqewV1)。其余20组用户名及对应的注册码如下
用户名 注册码
VYULy99-VI3486 898549885
POLJt7J-T8yt86 987676867
S1R8t98-SYrw76 962212015
TDRe997-S1eeP6 924924196
OP1rAD6-LVreU1 968578228
TDR6q99-S7eqT1 950389048
TJY6rp6-ZV1ynN 1054976833
BMVCwp6-VQvdB1 1024055227
B8TqDfA-VKmaB1 983129572
BSf6***-VAwkKB 1026783604
OsrfC98-AKzu47 1019507932
Ofg6l88-KO1vf1 977672818
ESrAbK6-VKdiO1 997680916
IUrg6p6-VEyvU1 1062252505
IJUwDT6-BBsrX1 1000409293
S1IeIT6-DVlf99 945841753
SNhMDS6-AKlp41 957664720
SNWxSQ6-TTgjN1 1032240358
SNErWS6-MIbnN3 1000409293
TDVeZS6-M9opN3 997680916
爆破:
004AE2D6 |. /74 1A JE SHORT MP3_WMA_.004AE2F2 je改jmp
004AE3B8 |. /75 53 JNZ SHORT MP3_WMA_.004AE40D nop掉这一行
算法:(用户名必须是软件内置的)
1、逐位取用户名ascii,然后相加,结果记作A
2、用A乘以10进制的1818918,结果记作B
3、用B加上10进制的8787,结果记作C
4、用C除以2的1次方,结果记作D
5、D就是注册码
易语言算法注册机源代码
.版本 2
.子程序 _按钮1_被单击
.局部变量 i, 整数型
.局部变量 sn, 整数型
.如果 (删全部空 (编辑框1.内容) ≠ “”)
.计次循环首 (取文本长度 (编辑框1.内容), i)
sn = sn + 到数值 (取代码 (取文本中间 (编辑框1.内容, i, 1), ))
.计次循环尾 ()
sn = sn × 1818918
sn = sn + 8787
sn = sn \ 2
编辑框2.内容 = 到文本 (sn)
.否则
信息框 (“请先输入用户名!”, #错误图标, “错误”)
VB6.0算法注册机源代码
Private Sub Command1_Click()
Dim i As Integer, sn As Long
If Len(Trim(Text1.Text)) > 0 Then
For i = 1 To Len(Text1.Text)
sn = sn + Asc(Mid(Text1.Text, i, 1))
Next
sn = sn * 1818918
sn = sn + 8787
sn = sn \ 2
Text2.Text = sn
Else
MsgBox "请先输入用户名!", vbCritical, "错误"
End If
End Sub
Delphi 7.0算法注册机代码
procedure TForm1.Button1Click(Sender: TObject);
var i,sn:integer;
begin
sn:=0;
if length(trim(edit1.text))>0 then
begin
for i:=1 to length(edit1.text) do
sn:= sn + ord(edit1.text);
sn:=sn*1818918;
sn:=sn+8787;
sn:=sn div 2;
edit2.text:=inttostr(sn);
end
else
messagebox(0,'请先输入用户名!','提示',16);
end;
C语言算法注册机源代码
#include "stdio.h"
main()
{
char a;
int sn=0;
printf("用户名:");
while(1)
{
a=getchar();
if(a!='\n')
{
sn=sn+(int)a;
}else
{
break;
}
}
sn=sn*1818918;
sn=sn+8787;
sn=sn / 2;
printf("注册码:%d\n",sn);
} |
|