- UID
- 26554
注册时间2007-1-1
阅读权限20
最后登录1970-1-1
以武会友
TA的每日心情 | 开心 2024-12-27 11:46 |
---|
签到天数: 33 天 [LV.5]常住居民I
|
【破文标题】《MP3 Joiner 1.0586》注册分析(固定注册码)
【破文作者】水中花
【作者邮箱】
【作者主页】
【破解工具】OD
【破解平台】
【软件名称】MP3 Joiner
【软件大小】
【原版下载】http://www.newhua.com/soft/45966.htm
【保护方式】
【软件简介】
MP3 Joiner 是一款简单易用的把多个 MP3 文件连接成一个大的 MP3 文件的工具:
1、 不需要重新压缩,连接速度快;
2、 支持文件拖放连接;
3、 连接的 MP3 文件必须是相同的压缩参数。
【破解声明】
------------------------------------------------------------------------
【破解过程】
看到各位版主为《飘云阁论坛07版破解基础教程》电子收辛苦工作,应该好好感谢他们!
00405390 /. 55 push ebp
00405391 |. 8BEC mov ebp,esp
00405393 |. 83EC 20 sub esp,20
00405396 |. 894D E0 mov [local.8],ecx
00405399 |. 6A 01 push 1
0040539B |. 8B4D E0 mov ecx,[local.8]
0040539E |. E8 18A30100 call MP3Joine.0041F6BB
004053A3 |. 8B4D E0 mov ecx,[local.8]
004053A6 |. 83C1 70 add ecx,70
004053A9 |. E8 F2F4FFFF call MP3Joine.004048A0 获取用用户名长度
004053AE |. 83F8 02 cmp eax,2 用户名升序必须大于2个字符
004053B1 |. 7D 13 jge short MP3Joine.004053C6
004053B3 |. 6A 00 push 0
004053B5 |. 6A 00 push 0
004053B7 |. 68 5CC14200 push MP3Joine.0042C15C ; ASCII "Please input correct User
Name!"
004053BC |. E8 04FE0100 call MP3Joine.004251C5
004053C1 |. E9 A9020000 jmp MP3Joine.0040566F
004053C6 |> 8B4D E0 mov ecx,[local.8]
004053C9 |. 83C1 74 add ecx,74
004053CC |. E8 CFF4FFFF call MP3Joine.004048A0 获取注册码长度
004053D1 |. 83F8 08 cmp eax,8 注册码长度必须大于8个字符
004053D4 |. 7D 13 jge short MP3Joine.004053E9
004053D6 |. 6A 00 push 0
004053D8 |. 6A 00 push 0
004053DA |. 68 7CC14200 push MP3Joine.0042C17C ; ASCII "Please input correct
Registration Code!"
004053DF |. E8 E1FD0100 call MP3Joine.004251C5
004053E4 |. E9 86020000 jmp MP3Joine.0040566F
这以下的运算是作者故意做,没实际意义。
004053E9 |> 6A 00 push 0 ; /Arg1 = 00000000
004053EB |. 8B4D E0 mov ecx,[local.8] ; |
004053EE |. 83C1 70 add ecx,70 ; |
004053F1 |. E8 5AEBFFFF call MP3Joine.00403F50 \MP3Joine.00403F50
004053F6 |. 8845 EF mov byte ptr ss:[ebp-11],al
004053F9 |. 6A 01 push 1 ; /Arg1 = 00000001
004053FB |. 8B4D E0 mov ecx,[local.8] ; |
004053FE |. 83C1 70 add ecx,70 ; |
00405401 |. E8 4AEBFFFF call MP3Joine.00403F50 \MP3Joine.00403F50
00405406 |. 8845 F8 mov byte ptr ss:[ebp-8],al
00405409 |. 6A 00 push 0 ; /Arg1 = 00000000
0040540B |. 8B4D E0 mov ecx,[local.8] ; |
0040540E |. 83C1 70 add ecx,70 ; |
00405411 |. E8 3AEBFFFF call MP3Joine.00403F50 \MP3Joine.00403F50
00405416 |. 8845 FF mov byte ptr ss:[ebp-1],al
00405419 |. 6A 01 push 1 ; /Arg1 = 00000001
0040541B |. 8B4D E0 mov ecx,[local.8] ; |
0040541E |. 83C1 70 add ecx,70 ; |
00405421 |. E8 2AEBFFFF call MP3Joine.00403F50 \MP3Joine.00403F50
00405426 |. 8845 FA mov byte ptr ss:[ebp-6],al
00405429 |. 0FB645 EF movzx eax,byte ptr ss:[ebp-11]
0040542D |. 83C8 4D or eax,4D
00405430 |. 8845 EF mov byte ptr ss:[ebp-11],al
00405433 |. 0FB64D F8 movzx ecx,byte ptr ss:[ebp-8]
00405437 |. 83C9 50 or ecx,50
0040543A |. 884D F8 mov byte ptr ss:[ebp-8],cl
0040543D |. 0FB655 FF movzx edx,byte ptr ss:[ebp-1]
00405441 |. 83CA 33 or edx,33
00405444 |. 8855 FF mov byte ptr ss:[ebp-1],dl
00405447 |. 0FB645 FA movzx eax,byte ptr ss:[ebp-6]
0040544B |. 83C8 4A or eax,4A
0040544E |. 8845 FA mov byte ptr ss:[ebp-6],al
00405451 |. 0FB645 EF movzx eax,byte ptr ss:[ebp-11]
00405455 |. 99 cdq
00405456 |. B9 0A000000 mov ecx,0A
0040545B |. F7F9 idiv ecx
0040545D |. 8855 EF mov byte ptr ss:[ebp-11],dl
00405460 |. 0FB645 F8 movzx eax,byte ptr ss:[ebp-8]
00405464 |. 99 cdq
00405465 |. B9 0A000000 mov ecx,0A
0040546A |. F7F9 idiv ecx
0040546C |. 8855 F8 mov byte ptr ss:[ebp-8],dl
0040546F |. 0FB645 FF movzx eax,byte ptr ss:[ebp-1]
00405473 |. 99 cdq
00405474 |. B9 0A000000 mov ecx,0A
00405479 |. F7F9 idiv ecx
0040547B |. 8855 FF mov byte ptr ss:[ebp-1],dl
0040547E |. 0FB645 FA movzx eax,byte ptr ss:[ebp-6]
00405482 |. 99 cdq
00405483 |. B9 0A000000 mov ecx,0A
00405488 |. F7F9 idiv ecx
0040548A |. 8855 FA mov byte ptr ss:[ebp-6],dl
0040548D |. C745 F0 00000>mov [local.4],0
00405494 |. C745 E8 00000>mov [local.6],0
0040549B |. EB 09 jmp short MP3Joine.004054A6
0040549D |> 8B55 E8 /mov edx,[local.6]
004054A0 |. 83C2 01 |add edx,1
004054A3 |. 8955 E8 |mov [local.6],edx
004054A6 |> 8B4D E0 mov ecx,[local.8]
004054A9 |. 83C1 70 |add ecx,70
004054AC |. E8 EFF3FFFF |call MP3Joine.004048A0
004054B1 |. 3945 E8 |cmp [local.6],eax
004054B4 |. 7D 1E |jge short MP3Joine.004054D4
004054B6 |. 8B45 E8 |mov eax,[local.6]
004054B9 |. 50 |push eax ; /Arg1
004054BA |. 8B4D E0 |mov ecx,[local.8] ; |
004054BD |. 83C1 70 |add ecx,70 ; |
004054C0 |. E8 8BEAFFFF |call MP3Joine.00403F50 ; \MP3Joine.00403F50
004054C5 |. 8845 E7 |mov byte ptr ss:[ebp-19],al
004054C8 |. 0FB64D E7 |movzx ecx,byte ptr ss:[ebp-19]
004054CC |. 034D F0 |add ecx,[local.4]
004054CF |. 894D F0 |mov [local.4],ecx
004054D2 |.^ EB C9 \jmp short MP3Joine.0040549D
004054D4 |> 8B45 F0 mov eax,[local.4]
004054D7 |. 99 cdq
004054D8 |. B9 0A000000 mov ecx,0A
004054DD |. F7F9 idiv ecx
004054DF |. 8855 F4 mov byte ptr ss:[ebp-C],dl
004054E2 |. 6A 00 push 0 ; /Arg1 = 00000000
004054E4 |. 8B4D E0 mov ecx,[local.8] ; |
004054E7 |. 83C1 74 add ecx,74 ; |
004054EA |. E8 61EAFFFF call MP3Joine.00403F50 ; \MP3Joine.00403F50
004054EF |. 8845 FC mov byte ptr ss:[ebp-4],al
004054F2 |. 6A 01 push 1 ; /Arg1 = 00000001
004054F4 |. 8B4D E0 mov ecx,[local.8] ; |
004054F7 |. 83C1 74 add ecx,74 ; |
004054FA |. E8 51EAFFFF call MP3Joine.00403F50 ; \MP3Joine.00403F50
004054FF |. 8845 FD mov byte ptr ss:[ebp-3],al
00405502 |. 6A 02 push 2 ; /Arg1 = 00000002
00405504 |. 8B4D E0 mov ecx,[local.8] ; |
00405507 |. 83C1 74 add ecx,74 ; |
0040550A |. E8 41EAFFFF call MP3Joine.00403F50 ; \MP3Joine.00403F50
0040550F |. 8845 F6 mov byte ptr ss:[ebp-A],al
00405512 |. 6A 03 push 3 ; /Arg1 = 00000003
00405514 |. 8B4D E0 mov ecx,[local.8] ; |
00405517 |. 83C1 74 add ecx,74 ; |
0040551A |. E8 31EAFFFF call MP3Joine.00403F50 ; \MP3Joine.00403F50
0040551F |. 8845 F5 mov byte ptr ss:[ebp-B],al
00405522 |. 6A 04 push 4 ; /Arg1 = 00000004
00405524 |. 8B4D E0 mov ecx,[local.8] ; |
00405527 |. 83C1 74 add ecx,74 ; |
0040552A |. E8 21EAFFFF call MP3Joine.00403F50 ; \MP3Joine.00403F50
0040552F |. 8845 F9 mov byte ptr ss:[ebp-7],al
00405532 |. 6A 05 push 5 ; /Arg1 = 00000005
00405534 |. 8B4D E0 mov ecx,[local.8] ; |
00405537 |. 83C1 74 add ecx,74 ; |
0040553A |. E8 11EAFFFF call MP3Joine.00403F50 ; \MP3Joine.00403F50
0040553F |. 8845 F7 mov byte ptr ss:[ebp-9],al
00405542 |. 6A 06 push 6 ; /Arg1 = 00000006
00405544 |. 8B4D E0 mov ecx,[local.8] ; |
00405547 |. 83C1 74 add ecx,74 ; |
0040554A |. E8 01EAFFFF call MP3Joine.00403F50 ; \MP3Joine.00403F50
0040554F |. 8845 FE mov byte ptr ss:[ebp-2],al
00405552 |. 6A 07 push 7 ; /Arg1 = 00000007
00405554 |. 8B4D E0 mov ecx,[local.8] ; |
00405557 |. 83C1 74 add ecx,74 ; |
0040555A |. E8 F1E9FFFF call MP3Joine.00403F50 ; \MP3Joine.00403F50
0040555F |. 8845 FB mov byte ptr ss:[ebp-5],al
00405562 |. 0FB655 EF movzx edx,byte ptr ss:[ebp-11]
00405566 |. 0FB645 FC movzx eax,byte ptr ss:[ebp-4]
0040556A |. 83E8 30 sub eax,30
0040556D |. 3BD0 cmp edx,eax
0040556F |. 75 3C jnz short MP3Joine.004055AD
00405571 |. 0FB64D F8 movzx ecx,byte ptr ss:[ebp-8]
00405575 |. 0FB655 FD movzx edx,byte ptr ss:[ebp-3]
00405579 |. 83EA 30 sub edx,30
0040557C |. 3BCA cmp ecx,edx
0040557E |. 75 2D jnz short MP3Joine.004055AD
00405580 |. 0FB645 FF movzx eax,byte ptr ss:[ebp-1]
00405584 |. 0FB64D F6 movzx ecx,byte ptr ss:[ebp-A]
00405588 |. 83E9 30 sub ecx,30
0040558B |. 3BC1 cmp eax,ecx
0040558D |. 75 1E jnz short MP3Joine.004055AD
0040558F |. 0FB655 FA movzx edx,byte ptr ss:[ebp-6]
00405593 |. 0FB645 F5 movzx eax,byte ptr ss:[ebp-B]
00405597 |. 83E8 30 sub eax,30
0040559A |. 3BD0 cmp edx,eax
0040559C |. 75 0F jnz short MP3Joine.004055AD
0040559E |. 0FB64D F4 movzx ecx,byte ptr ss:[ebp-C]
004055A2 |. 0FB655 F9 movzx edx,byte ptr ss:[ebp-7]
004055A6 |. 83EA 30 sub edx,30
004055A9 |. 3BCA cmp ecx,edx
004055AB |. 74 58 je short MP3Joine.00405605
这下面才是输入的假码与真码比较
004055AD |> 0FB645 FC movzx eax,byte ptr ss:[ebp-4] 提取假码的第一个字符
004055B1 |. 83F8 35 cmp eax,35 与“5”比较
004055B4 |. 0F85 A7000000 jnz MP3Joine.00405661 不等跳向错误
004055BA |. 0FB64D FD movzx ecx,byte ptr ss:[ebp-3] 提取假码的第二个字符
004055BE |. 83F9 35 cmp ecx,35 与“5”比较
004055C1 |. 0F85 9A000000 jnz MP3Joine.00405661
004055C7 |. 0FB655 F6 movzx edx,byte ptr ss:[ebp-A] 提取假码的第三个字符
004055CB |. 83FA 38 cmp edx,38 与“8”比较
004055CE |. 0F85 8D000000 jnz MP3Joine.00405661
004055D4 |. 0FB645 F5 movzx eax,byte ptr ss:[ebp-B] 提取假码的第四个字符
004055D8 |. 83F8 35 cmp eax,35 与“5”比较
004055DB |. 0F85 80000000 jnz MP3Joine.00405661
004055E1 |. 0FB64D F9 movzx ecx,byte ptr ss:[ebp-7] 提取假码的第五个字符
004055E5 |. 83F9 36 cmp ecx,36 与“6”比较
004055E8 |. 75 77 jnz short MP3Joine.00405661
004055EA |. 0FB655 F7 movzx edx,byte ptr ss:[ebp-9] 提取假码的第六个字符
004055EE |. 83FA 37 cmp edx,37 与“7”比较
004055F1 |. 75 6E jnz short MP3Joine.00405661
004055F3 |. 0FB645 FE movzx eax,byte ptr ss:[ebp-2] 提取假码的第七个字符
004055F7 |. 83F8 36 cmp eax,36 与“6”比较
004055FA |. 75 65 jnz short MP3Joine.00405661
004055FC |. 0FB64D FB movzx ecx,byte ptr ss:[ebp-5] 提取假码的第八个字符
00405600 |. 83F9 35 cmp ecx,35 与“5”比较
00405603 |. 75 5C jnz short MP3Joine.00405661
00405605 |> 6A 00 push 0
00405607 |. 6A 00 push 0
00405609 |. 68 A4C14200 push MP3Joine.0042C1A4 ; ASCII "Registration has succeeded!"
0040560E |. E8 B2FB0100 call MP3Joine.004251C5
00405613 |. 8B4D E0 mov ecx,[local.8]
00405616 |. 83C1 70 add ecx,70
00405619 |. E8 A2F6FFFF call MP3Joine.00404CC0
0040561E |. 50 push eax
0040561F |. 68 C0C14200 push MP3Joine.0042C1C0 ; ASCII "username"
00405624 |. 68 CCC14200 push MP3Joine.0042C1CC ; ASCII "Option"
00405629 |. E8 02EDFFFF call MP3Joine.00404330
0040562E |. 8BC8 mov ecx,eax ; |
00405630 |. E8 CCFC0100 call MP3Joine.00425301 ; \MP3Joine.00425301
00405635 |. 8B4D E0 mov ecx,[local.8]
00405638 |. 83C1 74 add ecx,74
0040563B |. E8 80F6FFFF call MP3Joine.00404CC0
00405640 |. 50 push eax
00405641 |. 68 D4C14200 push MP3Joine.0042C1D4 ; ASCII "registration_code"
00405646 |. 68 E8C14200 push MP3Joine.0042C1E8 ; ASCII "Option"
0040564B |. E8 E0ECFFFF call MP3Joine.00404330
00405650 |. 8BC8 mov ecx,eax ; |
00405652 |. E8 AAFC0100 call MP3Joine.00425301 ; \MP3Joine.00425301
00405657 |. 8B4D E0 mov ecx,[local.8]
0040565A |. E8 108A0100 call MP3Joine.0041E06F
0040565F |. EB 0E jmp short MP3Joine.0040566F
00405661 |> 6A 00 push 0
00405663 |. 6A 00 push 0
00405665 |. 68 F0C14200 push MP3Joine.0042C1F0 ; ASCII "Registration failed!"
0040566A |. E8 56FB0100 call MP3Joine.004251C5
0040566F |> 8BE5 mov esp,ebp
00405671 |. 5D pop ebp
00405672 \. C3 retn
------------------------------------------------------------------------
【破解总结】
这个软件是个固定码比较,比较简单,看到教程目录里有个固定码这个篇程,就把它贴出来了! |
|