- UID
- 28352
注册时间2007-2-21
阅读权限40
最后登录1970-1-1
独步武林
TA的每日心情 | 开心 2024-5-1 14:44 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
【破文标题】Crystal MP3 Recorder 1.00算法分析
【破文作者】tianxj
【作者邮箱】[email protected]
【作者主页】www.chinapyg.com
【破解工具】PEiD,OD
【破解平台】Windows XP
【软件名称】Crystal MP3 Recorder 1.00(2008-5-5版)
【软件大小】3372KB
【软件类别】国外软件/媒体管理
【软件授权】共享版
【软件语言】英文
【原版下载】华军软件园
【保护方式】注册码
【软件简介】是一个易于使用和高品质的软件,一个完整的记录。与此你可以录制自己的声音,通过麦克风和音频从您的计算机(所发挥的在线研讨会从互联网上, Winamp中, Windows Media Player中,快速的时间,真正的播放器,闪存,游戏) ,以及健全从外部(转台,随身听,磁带播放器, DVD等) 。
【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------
【破解内容】
--------------------------------------------------------------
**************************************************************
一、运行程序,进行注册,输入错误的注册信息进行检测,有提示信息
"invalid register code! please retry!"
**************************************************************
二、用PEiD对Crystal MP3 Recorder查壳,为Borland Delphi 6.0 - 7.0
**************************************************************
三、用PE Explorer和DeDe查找按钮事件
004D921C /. 55 PUSH EBP
==============================================================
运行OD,打开Crystal MP3 Recorder,来到- 004D921C /. 55 PUSH EBP
- 004D921D |. 8BEC MOV EBP,ESP
- 004D921F |. 33C9 XOR ECX,ECX
- 004D9221 |. 51 PUSH ECX
- 004D9222 |. 51 PUSH ECX
- 004D9223 |. 51 PUSH ECX
- 004D9224 |. 51 PUSH ECX
- 004D9225 |. 51 PUSH ECX
- 004D9226 |. 51 PUSH ECX
- 004D9227 |. 53 PUSH EBX
- 004D9228 |. 56 PUSH ESI
- 004D9229 |. 57 PUSH EDI
- 004D922A |. 8BF8 MOV EDI,EAX
- 004D922C |. 33C0 XOR EAX,EAX
- 004D922E |. 55 PUSH EBP
- 004D922F |. 68 23944D00 PUSH Crystal_.004D9423
- 004D9234 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
- 004D9237 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
- 004D923A |. C605 504E4E00>MOV BYTE PTR DS:[4E4E50],1
- 004D9241 |. 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C]
- 004D9244 |. 8B87 AC030000 MOV EAX,DWORD PTR DS:[EDI+3AC]
- 004D924A |. E8 A9A3F6FF CALL Crystal_.004435F8
- 004D924F |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] ; //用户名
- 004D9252 |. 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4]
- 004D9255 |. E8 02FBF2FF CALL Crystal_.00408D5C
- 004D925A |. 8D55 F0 LEA EDX,DWORD PTR SS:[EBP-10]
- 004D925D |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; //用户名
- 004D9260 |. E8 2BFBF2FF CALL Crystal_.00408D90
- 004D9265 |. 8B55 F0 MOV EDX,DWORD PTR SS:[EBP-10]
- 004D9268 |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]
- 004D926B |. E8 F0B4F2FF CALL Crystal_.00404760
- 004D9270 |. BB 15000000 MOV EBX,15
- 004D9275 |. BE 14344E00 MOV ESI,Crystal_.004E3414 ; @om
- 004D927A |> 8B45 FC /MOV EAX,DWORD PTR SS:[EBP-4] ; //用户名
- 004D927D |. 8B16 |MOV EDX,DWORD PTR DS:[ESI] ; //"VS88T6-Vs86"
- 004D927F |. E8 40B8F2FF |CALL Crystal_.00404AC4 ; //比较CALL
- 004D9284 |. 75 09 |JNZ SHORT Crystal_.004D928F ; //不等则跳
- 004D9286 |. C605 504E4E00>|MOV BYTE PTR DS:[4E4E50],0 ; //标志位赋值
- 004D928D |. EB 06 |JMP SHORT Crystal_.004D9295
- 004D928F |> 83C6 04 |ADD ESI,4
- 004D9292 |. 4B |DEC EBX
- 004D9293 |.^ 75 E5 \JNZ SHORT Crystal_.004D927A ; //循环,和内置用户名比较
- 004D9295 |> 803D 504E4E00>CMP BYTE PTR DS:[4E4E50],0 ; //关键比较
- 004D929C |. 74 1A JE SHORT Crystal_.004D92B8 ; //相等则跳
- 004D929E |. 6A 00 PUSH 0 ; /Arg1 = 00000000
- 004D92A0 |. 66:8B0D 34944>MOV CX,WORD PTR DS:[4D9434] ; |
- 004D92A7 |. B2 02 MOV DL,2 ; |
- 004D92A9 |. B8 40944D00 MOV EAX,Crystal_.004D9440 ; |invalid register code! please retry!
- 004D92AE |. E8 453AF6FF CALL Crystal_.0043CCF8 ; \Crystal_.0043CCF8
- 004D92B3 |. E9 30010000 JMP Crystal_.004D93E8
- 004D92B8 |> 8D55 EC LEA EDX,DWORD PTR SS:[EBP-14]
- 004D92BB |. 8B87 B0030000 MOV EAX,DWORD PTR DS:[EDI+3B0]
- 004D92C1 |. E8 32A3F6FF CALL Crystal_.004435F8
- 004D92C6 |. 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14] ; //试练码
- 004D92C9 |. 8D55 F8 LEA EDX,DWORD PTR SS:[EBP-8]
- 004D92CC |. E8 8BFAF2FF CALL Crystal_.00408D5C
- 004D92D1 |. 8D55 E8 LEA EDX,DWORD PTR SS:[EBP-18]
- 004D92D4 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; //试练码
- 004D92D7 |. E8 B4FAF2FF CALL Crystal_.00408D90
- 004D92DC |. 8B55 E8 MOV EDX,DWORD PTR SS:[EBP-18] ; //试练码
- 004D92DF |. 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
- 004D92E2 |. E8 79B4F2FF CALL Crystal_.00404760
- 004D92E7 |. 837D FC 00 CMP DWORD PTR SS:[EBP-4],0
- 004D92EB |. 0F84 F7000000 JE Crystal_.004D93E8 ; //用户名为空则跳
- 004D92F1 |. 837D F8 00 CMP DWORD PTR SS:[EBP-8],0
- 004D92F5 |. 0F84 ED000000 JE Crystal_.004D93E8 ; //注册码为空则跳
- 004D92FB |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; //试练码
- 004D92FE |. E8 7DB6F2FF CALL Crystal_.00404980 ; //取试练码长度
- 004D9303 |. 85C0 TEST EAX,EAX
- 004D9305 |. 7E 38 JLE SHORT Crystal_.004D933F ; //小于等于则跳
- 004D9307 |. BA 01000000 MOV EDX,1 ; //EDX=1
- 004D930C |> 8B4D F8 /MOV ECX,DWORD PTR SS:[EBP-8] ; //试练码
- 004D930F |. 0FB64C11 FF |MOVZX ECX,BYTE PTR DS:[ECX+EDX-1] ; //依次取试练码ASC值
- 004D9314 |. 83F9 30 |CMP ECX,30 ; //与30即"0"比较
- 004D9317 |. 7C 08 |JL SHORT Crystal_.004D9321 ; //小于则跳
- 004D9319 |. 8B5D F8 |MOV EBX,DWORD PTR SS:[EBP-8]
- 004D931C |. 83F9 39 |CMP ECX,39 ; //与39即"9"比较
- 004D931F |. 7E 1A |JLE SHORT Crystal_.004D933B ; //小于等于则跳
- 004D9321 |> 6A 00 |PUSH 0 ; /Arg1 = 00000000
- 004D9323 |. 66:8B0D 34944>|MOV CX,WORD PTR DS:[4D9434] ; |
- 004D932A |. B2 02 |MOV DL,2 ; |
- 004D932C |. B8 40944D00 |MOV EAX,Crystal_.004D9440 ; |invalid register code! please retry!
- 004D9331 |. E8 C239F6FF |CALL Crystal_.0043CCF8 ; \Crystal_.0043CCF8
- 004D9336 |. E9 AD000000 |JMP Crystal_.004D93E8
- 004D933B |> 42 |INC EDX
- 004D933C |. 48 |DEC EAX
- 004D933D |.^ 75 CD \JNZ SHORT Crystal_.004D930C ; //循环,试练码是否在0~9之间
- 004D933F |> 33F6 XOR ESI,ESI ; //ESI=0
- 004D9341 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; //用户名
- 004D9344 |. E8 37B6F2FF CALL Crystal_.00404980 ; //取用户名长度
- 004D9349 |. 85C0 TEST EAX,EAX
- 004D934B |. 7E 13 JLE SHORT Crystal_.004D9360 ; //小于等于则跳
- 004D934D |. BB 01000000 MOV EBX,1 ; //EBX=1
- 004D9352 |> 8B55 FC /MOV EDX,DWORD PTR SS:[EBP-4] ; //用户名
- 004D9355 |. 0FB6541A FF |MOVZX EDX,BYTE PTR DS:[EDX+EBX-1] ; //依次取用户名ASC值
- 004D935A |. 03F2 |ADD ESI,EDX ; //ESI=ESI+EDX
- 004D935C |. 43 |INC EBX ; //EBX=EBX+1
- 004D935D |. 48 |DEC EAX ; //EAX=EAX-1
- 004D935E |.^ 75 F2 \JNZ SHORT Crystal_.004D9352 ; //不等则跳
- 004D9360 |> 69C6 958D0900 IMUL EAX,ESI,98D95 ; //EAX=ESI*98D95
- 004D9366 |. 83C0 20 ADD EAX,20 ; //EAX=EAX+20
- 004D9369 |. D1F8 SAR EAX,1 ; //EAX右移1位
- 004D936B |. 79 03 JNS SHORT Crystal_.004D9370
- 004D936D |. 83D0 00 ADC EAX,0
- 004D9370 |> 8BF0 MOV ESI,EAX ; //ESI=EAX
- 004D9372 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; //试练码
- 004D9375 |. E8 7AFCF2FF CALL Crystal_.00408FF4 ; //试练码转16进制送入EAX
- 004D937A |. 3BF0 CMP ESI,EAX ; //ESI与EAX比较
- 004D937C |. 75 55 JNZ SHORT Crystal_.004D93D3 ; //不等则跳
- 004D937E |. 6A 00 PUSH 0 ; /Arg1 = 00000000
- 004D9380 |. 66:8B0D 34944>MOV CX,WORD PTR DS:[4D9434] ; |
- 004D9387 |. B2 02 MOV DL,2 ; |
- 004D9389 |. B8 70944D00 MOV EAX,Crystal_.004D9470 ; |congratuation! you have successfully registered!
- 004D938E |. E8 6539F6FF CALL Crystal_.0043CCF8 ; \Crystal_.0043CCF8
- 004D9393 |. A1 783A4E00 MOV EAX,DWORD PTR DS:[4E3A78]
- 004D9398 |. C600 01 MOV BYTE PTR DS:[EAX],1
- 004D939B |. A1 843B4E00 MOV EAX,DWORD PTR DS:[4E3B84]
- 004D93A0 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
- 004D93A2 |. 33C9 XOR ECX,ECX
- 004D93A4 |. BA 04000000 MOV EDX,4
- 004D93A9 |. 8B18 MOV EBX,DWORD PTR DS:[EAX]
- 004D93AB |. FF53 10 CALL DWORD PTR DS:[EBX+10]
- 004D93AE |. 8B15 783A4E00 MOV EDX,DWORD PTR DS:[4E3A78] ; Crystal_.004E4E80
- 004D93B4 |. A1 843B4E00 MOV EAX,DWORD PTR DS:[4E3B84]
- 004D93B9 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
- 004D93BB |. B9 01000000 MOV ECX,1
- 004D93C0 |. E8 EF23F4FF CALL Crystal_.0041B7B4
- 004D93C5 |. A1 08384E00 MOV EAX,DWORD PTR DS:[4E3808]
- 004D93CA |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
- 004D93CC |. E8 B36AF8FF CALL Crystal_.0045FE84
- 004D93D1 |. EB 15 JMP SHORT Crystal_.004D93E8
- 004D93D3 |> 6A 00 PUSH 0 ; /Arg1 = 00000000
- 004D93D5 |. 66:8B0D 34944>MOV CX,WORD PTR DS:[4D9434] ; |
- 004D93DC |. B2 02 MOV DL,2 ; |
- 004D93DE |. B8 40944D00 MOV EAX,Crystal_.004D9440 ; |invalid register code! please retry!
- 004D93E3 |. E8 1039F6FF CALL Crystal_.0043CCF8 ; \Crystal_.0043CCF8
- 004D93E8 |> 33C0 XOR EAX,EAX
- 004D93EA |. 5A POP EDX
- 004D93EB |. 59 POP ECX
- 004D93EC |. 59 POP ECX
- 004D93ED |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
- 004D93F0 |. 68 2A944D00 PUSH Crystal_.004D942A
- 004D93F5 |> 8D45 E8 LEA EAX,DWORD PTR SS:[EBP-18]
- 004D93F8 |. E8 CBB2F2FF CALL Crystal_.004046C8
- 004D93FD |. 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14]
- 004D9400 |. E8 C3B2F2FF CALL Crystal_.004046C8
- 004D9405 |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
- 004D9408 |. E8 BBB2F2FF CALL Crystal_.004046C8
- 004D940D |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
- 004D9410 |. E8 B3B2F2FF CALL Crystal_.004046C8
- 004D9415 |. 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
- 004D9418 |. BA 02000000 MOV EDX,2
- 004D941D |. E8 CAB2F2FF CALL Crystal_.004046EC
- 004D9422 \. C3 RETN
- 004D9423 .^ E9 24ACF2FF JMP Crystal_.0040404C
- 004D9428 .^ EB CB JMP SHORT Crystal_.004D93F5
- 004D942A . 5F POP EDI
- 004D942B . 5E POP ESI
- 004D942C . 5B POP EBX
- 004D942D . 8BE5 MOV ESP,EBP
- 004D942F . 5D POP EBP
- 004D9430 . C3 RETN
复制代码 ==============================================================
【内置用户名】
004D6F40 56 53 38 38 54 36 2D 56 73 38 36 00 FF FF FF FF VS88T6-Vs86. |
|