飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4513|回复: 2

[转贴] MP3 WMA Cutter2.0破解全攻略

[复制链接]

该用户从未签到

发表于 2007-11-7 23:11:01 | 显示全部楼层 |阅读模式
【破文标题】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);
      }
PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2016-5-18 15:01
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2007-11-8 22:02:29 | 显示全部楼层
    来学习一下啊,谢谢楼主啊~!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-12-1 19:53:17 | 显示全部楼层
    这个程序不大 好象不是很难的 样子啊 学习了
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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