- UID
- 8198
注册时间2006-2-16
阅读权限40
最后登录1970-1-1
独步武林
该用户从未签到
|
【破文标题】CD DVD Data Recovery v1.0.810 注册分析
【破文作者】ZHOU2X
【破解工具】OD PEID
【破解平台】Win XP
【软件名称】CD/DVD Data Recovery
【软件大小】476 KB
【原版下载】http://www.008soft.com/products/cddvddr.exe
【保护方式】注册码
【软件简介】
CD DVD Data Recovery v1.0.810
软件大小 476 KB
软件类别 国外软件/光碟工具
运行环境 Win2003, WinXp, Win2000, Nt, WinMe, Win9x
软件语言 英文
整理时间 2006-8-3 9:48:22
相关连接 http://www.crsky.com/soft/6844.html
随着刻录机的普及,刻录盘被广泛的用于数据及资料的备份。但是,由于各种原因,你所备份的数据可能已经无法
在光盘驱动器中被正常读取。现在好了,你有了一个好帮手——CD/DVD Data recovery。它是一个光盘数据、多媒体恢
复工具,适用于从各类无法正常读取的 CD、DVD 中恢复数据。该软件操作非常简便,极易上手。
【破解声明】
------------------------------------------------------------------------
【破解过程】
PEID 扫描为 Microsoft Visual C++ 7.0,无壳;注册失败提示:“registration failed!”
- 0041A980 /. 55 push ebp
- 0041A981 |. 8BEC mov ebp, esp
- 0041A983 |. 83EC 20 sub esp, 20
- 0041A986 |. 894D E0 mov dword ptr [ebp-20], ecx
- 0041A989 |. 6A 01 push 1
- 0041A98B |. 8B4D E0 mov ecx, dword ptr [ebp-20]
- 0041A98E |. E8 F3D30100 call 00437D86
- 0041A993 |. 8B4D E0 mov ecx, dword ptr [ebp-20]
- 0041A996 |. 83C1 70 add ecx, 70
- 0041A999 |. E8 F210FFFF call 0040BA90
- 0041A99E |. 83F8 02 cmp eax, 2
- 0041A9A1 |. 7D 13 jge short 0041A9B6 ; 注册名不少于2位跳
- 0041A9A3 |. 6A 00 push 0
- 0041A9A5 |. 6A 00 push 0
- 0041A9A7 |. 68 F8E34400 push 0044E3F8 ; please input correct user name!
- 0041A9AC |. E8 58710200 call 00441B09
- 0041A9B1 |. E9 A9020000 jmp 0041AC5F
- 0041A9B6 |> 8B4D E0 mov ecx, dword ptr [ebp-20]
- 0041A9B9 |. 83C1 74 add ecx, 74
- 0041A9BC |. E8 CF10FFFF call 0040BA90
- 0041A9C1 |. 83F8 08 cmp eax, 8
- 0041A9C4 |. 7D 13 jge short 0041A9D9 ; 注册码不少于8位跳
- 0041A9C6 |. 6A 00 push 0
- 0041A9C8 |. 6A 00 push 0
- 0041A9CA |. 68 18E44400 push 0044E418 ; please input correct registration code!
- 0041A9CF |. E8 35710200 call 00441B09
- 0041A9D4 |. E9 86020000 jmp 0041AC5F
- 0041A9D9 |> 6A 00 push 0 ; /Arg1 = 00000000
- 0041A9DB |. 8B4D E0 mov ecx, dword ptr [ebp-20] ; |
- 0041A9DE |. 83C1 70 add ecx, 70 ; |
- 0041A9E1 |. E8 0ACEFFFF call 004177F0 ; \CDDVDDR.004177F0
- 0041A9E6 |. 8845 EF mov byte ptr [ebp-11], al
- 0041A9E9 |. 6A 01 push 1 ; /Arg1 = 00000001
- 0041A9EB |. 8B4D E0 mov ecx, dword ptr [ebp-20] ; |
- 0041A9EE |. 83C1 70 add ecx, 70 ; |
- 0041A9F1 |. E8 FACDFFFF call 004177F0 ; \CDDVDDR.004177F0
- 0041A9F6 |. 8845 F8 mov byte ptr [ebp-8], al
- 0041A9F9 |. 6A 00 push 0 ; /Arg1 = 00000000
- 0041A9FB |. 8B4D E0 mov ecx, dword ptr [ebp-20] ; |
- 0041A9FE |. 83C1 70 add ecx, 70 ; |
- 0041AA01 |. E8 EACDFFFF call 004177F0 ; \CDDVDDR.004177F0
- 0041AA06 |. 8845 FF mov byte ptr [ebp-1], al
- 0041AA09 |. 6A 01 push 1 ; /Arg1 = 00000001
- 0041AA0B |. 8B4D E0 mov ecx, dword ptr [ebp-20] ; |
- 0041AA0E |. 83C1 70 add ecx, 70 ; |
- 0041AA11 |. E8 DACDFFFF call 004177F0 ; \CDDVDDR.004177F0
- 0041AA16 |. 8845 FA mov byte ptr [ebp-6], al
- 0041AA19 |. 0FB645 EF movzx eax, byte ptr [ebp-11] ; 注册名 ASCII 第一位
- 0041AA1D |. 83C8 43 or eax, 43 ; 与 43 或运算,取为S1
- 0041AA20 |. 8845 EF mov byte ptr [ebp-11], al
- 0041AA23 |. 0FB64D F8 movzx ecx, byte ptr [ebp-8] ; 注册名 ASCII 第二位
- 0041AA27 |. 83C9 44 or ecx, 44 ; 与 44 或运算,取为S2
- 0041AA2A |. 884D F8 mov byte ptr [ebp-8], cl
- 0041AA2D |. 0FB655 FF movzx edx, byte ptr [ebp-1] ; 注册名 ASCII 第一位
- 0041AA31 |. 83CA 52 or edx, 52 ; 与 52 或运算,取为S3
- 0041AA34 |. 8855 FF mov byte ptr [ebp-1], dl
- 0041AA37 |. 0FB645 FA movzx eax, byte ptr [ebp-6] ; 注册名 ASCII 第二位
- 0041AA3B |. 83C8 45 or eax, 45 ; 与 45 或运算,取为S4
- 0041AA3E |. 8845 FA mov byte ptr [ebp-6], al
- 0041AA41 |. 0FB645 EF movzx eax, byte ptr [ebp-11]
- 0041AA45 |. 99 cdq
- 0041AA46 |. B9 0A000000 mov ecx, 0A ; S1 除以 0A,求余(S1=S1%0A)
- 0041AA4B |. F7F9 idiv ecx
- 0041AA4D |. 8855 EF mov byte ptr [ebp-11], dl
- 0041AA50 |. 0FB645 F8 movzx eax, byte ptr [ebp-8]
- 0041AA54 |. 99 cdq
- 0041AA55 |. B9 0A000000 mov ecx, 0A ; S2 除以 0A,求余(S2=S2%0A)
- 0041AA5A |. F7F9 idiv ecx
- 0041AA5C |. 8855 F8 mov byte ptr [ebp-8], dl
- 0041AA5F |. 0FB645 FF movzx eax, byte ptr [ebp-1]
- 0041AA63 |. 99 cdq
- 0041AA64 |. B9 0A000000 mov ecx, 0A ; S3 除以 0A,求余(S3=S3%0A)
- 0041AA69 |. F7F9 idiv ecx
- 0041AA6B |. 8855 FF mov byte ptr [ebp-1], dl
- 0041AA6E |. 0FB645 FA movzx eax, byte ptr [ebp-6]
- 0041AA72 |. 99 cdq
- 0041AA73 |. B9 0A000000 mov ecx, 0A ; S4 除以 0A,求余(S4=S4%0A)
- 0041AA78 |. F7F9 idiv ecx
- 0041AA7A |. 8855 FA mov byte ptr [ebp-6], dl
- 0041AA7D |. C745 F0 00000>mov dword ptr [ebp-10], 0
- 0041AA84 |. C745 E8 00000>mov dword ptr [ebp-18], 0
- 0041AA8B |. EB 09 jmp short 0041AA96
- 0041AA8D |> 8B55 E8 /mov edx, dword ptr [ebp-18]
- 0041AA90 |. 83C2 01 |add edx, 1
- 0041AA93 |. 8955 E8 |mov dword ptr [ebp-18], edx
- 0041AA96 |> 8B4D E0 mov ecx, dword ptr [ebp-20]
- 0041AA99 |. 83C1 70 |add ecx, 70
- 0041AA9C |. E8 EF0FFFFF |call 0040BA90
- 0041AAA1 |. 3945 E8 |cmp dword ptr [ebp-18], eax
- 0041AAA4 |. 7D 1E |jge short 0041AAC4
- 0041AAA6 |. 8B45 E8 |mov eax, dword ptr [ebp-18]
- 0041AAA9 |. 50 |push eax ; /Arg1
- 0041AAAA |. 8B4D E0 |mov ecx, dword ptr [ebp-20] ; |
- 0041AAAD |. 83C1 70 |add ecx, 70 ; |
- 0041AAB0 |. E8 3BCDFFFF |call 004177F0 ; \CDDVDDR.004177F0
- 0041AAB5 |. 8845 E7 |mov byte ptr [ebp-19], al
- 0041AAB8 |. 0FB64D E7 |movzx ecx, byte ptr [ebp-19]
- 0041AABC |. 034D F0 |add ecx, dword ptr [ebp-10] ; 该循环是注册名 ASCII 逐位相加求和,取为S5
- 0041AABF |. 894D F0 |mov dword ptr [ebp-10], ecx
- 0041AAC2 |.^ EB C9 \jmp short 0041AA8D
- 0041AAC4 |> 8B45 F0 mov eax, dword ptr [ebp-10]
- 0041AAC7 |. 99 cdq
- 0041AAC8 |. B9 0A000000 mov ecx, 0A ; S5 除以 0A,求余(S5=S5%0A)
- 0041AACD |. F7F9 idiv ecx
- 0041AACF |. 8855 F4 mov byte ptr [ebp-C], dl
- 0041AAD2 |. 6A 00 push 0 ; /Arg1 = 00000000
- 0041AAD4 |. 8B4D E0 mov ecx, dword ptr [ebp-20] ; |
- 0041AAD7 |. 83C1 74 add ecx, 74 ; |
- 0041AADA |. E8 11CDFFFF call 004177F0 ; \CDDVDDR.004177F0
- 0041AADF |. 8845 FC mov byte ptr [ebp-4], al
- 0041AAE2 |. 6A 01 push 1 ; /Arg1 = 00000001
- 0041AAE4 |. 8B4D E0 mov ecx, dword ptr [ebp-20] ; |
- 0041AAE7 |. 83C1 74 add ecx, 74 ; |
- 0041AAEA |. E8 01CDFFFF call 004177F0 ; \CDDVDDR.004177F0
- 0041AAEF |. 8845 FD mov byte ptr [ebp-3], al
- 0041AAF2 |. 6A 02 push 2 ; /Arg1 = 00000002
- 0041AAF4 |. 8B4D E0 mov ecx, dword ptr [ebp-20] ; |
- 0041AAF7 |. 83C1 74 add ecx, 74 ; |
- 0041AAFA |. E8 F1CCFFFF call 004177F0 ; \CDDVDDR.004177F0
- 0041AAFF |. 8845 F6 mov byte ptr [ebp-A], al
- 0041AB02 |. 6A 03 push 3 ; /Arg1 = 00000003
- 0041AB04 |. 8B4D E0 mov ecx, dword ptr [ebp-20] ; |
- 0041AB07 |. 83C1 74 add ecx, 74 ; |
- 0041AB0A |. E8 E1CCFFFF call 004177F0 ; \CDDVDDR.004177F0
- 0041AB0F |. 8845 F5 mov byte ptr [ebp-B], al
- 0041AB12 |. 6A 04 push 4 ; /Arg1 = 00000004
- 0041AB14 |. 8B4D E0 mov ecx, dword ptr [ebp-20] ; |
- 0041AB17 |. 83C1 74 add ecx, 74 ; |
- 0041AB1A |. E8 D1CCFFFF call 004177F0 ; \CDDVDDR.004177F0
- 0041AB1F |. 8845 F9 mov byte ptr [ebp-7], al
- 0041AB22 |. 6A 05 push 5 ; /Arg1 = 00000005
- 0041AB24 |. 8B4D E0 mov ecx, dword ptr [ebp-20] ; |
- 0041AB27 |. 83C1 74 add ecx, 74 ; |
- 0041AB2A |. E8 C1CCFFFF call 004177F0 ; \CDDVDDR.004177F0
- 0041AB2F |. 8845 F7 mov byte ptr [ebp-9], al
- 0041AB32 |. 6A 06 push 6 ; /Arg1 = 00000006
- 0041AB34 |. 8B4D E0 mov ecx, dword ptr [ebp-20] ; |
- 0041AB37 |. 83C1 74 add ecx, 74 ; |
- 0041AB3A |. E8 B1CCFFFF call 004177F0 ; \CDDVDDR.004177F0
- 0041AB3F |. 8845 FE mov byte ptr [ebp-2], al
- 0041AB42 |. 6A 07 push 7 ; /Arg1 = 00000007
- 0041AB44 |. 8B4D E0 mov ecx, dword ptr [ebp-20] ; |
- 0041AB47 |. 83C1 74 add ecx, 74 ; |
- 0041AB4A |. E8 A1CCFFFF call 004177F0 ; \CDDVDDR.004177F0
- 0041AB4F |. 8845 FB mov byte ptr [ebp-5], al
- 0041AB52 |. 0FB655 EF movzx edx, byte ptr [ebp-11] ; S1
- 0041AB56 |. 0FB645 FC movzx eax, byte ptr [ebp-4] ; 试炼码第1位
- 0041AB5A |. 83E8 30 sub eax, 30 ; 试炼码第1位=试炼码第1位-30
- 0041AB5D |. 3BD0 cmp edx, eax ; S1 与试炼码第1位比较
- 0041AB5F |. 75 3C jnz short 0041AB9D ; 不等就跳往进行通用码比较(下同)
- 0041AB61 |. 0FB64D F8 movzx ecx, byte ptr [ebp-8]
- 0041AB65 |. 0FB655 FD movzx edx, byte ptr [ebp-3]
- 0041AB69 |. 83EA 30 sub edx, 30
- 0041AB6C |. 3BCA cmp ecx, edx
- 0041AB6E |. 75 2D jnz short 0041AB9D ; S2 与试炼码第2位比较
- 0041AB70 |. 0FB645 FF movzx eax, byte ptr [ebp-1]
- 0041AB74 |. 0FB64D F6 movzx ecx, byte ptr [ebp-A]
- 0041AB78 |. 83E9 30 sub ecx, 30
- 0041AB7B |. 3BC1 cmp eax, ecx
- 0041AB7D |. 75 1E jnz short 0041AB9D ; S3 与试炼码第3位比较
- 0041AB7F |. 0FB655 FA movzx edx, byte ptr [ebp-6]
- 0041AB83 |. 0FB645 F5 movzx eax, byte ptr [ebp-B]
- 0041AB87 |. 83E8 30 sub eax, 30
- 0041AB8A |. 3BD0 cmp edx, eax
- 0041AB8C |. 75 0F jnz short 0041AB9D ; S4 与试炼码第4位比较
- 0041AB8E |. 0FB64D F4 movzx ecx, byte ptr [ebp-C]
- 0041AB92 |. 0FB655 F9 movzx edx, byte ptr [ebp-7]
- 0041AB96 |. 83EA 30 sub edx, 30
- 0041AB99 |. 3BCA cmp ecx, edx
- 0041AB9B |. 74 58 je short 0041ABF5 ; S5 与试炼码第5位比较,如果相等则注册成功
- 0041AB9D |> 0FB645 FC movzx eax, byte ptr [ebp-4] ; 试炼码第1位;下面8位数字是通用码
- 0041ABA1 |. 83F8 39 cmp eax, 39 ; 9
- 0041ABA4 |. 0F85 A7000000 jnz 0041AC51 ; 不等跳往失败(下同)
- 0041ABAA |. 0FB64D FD movzx ecx, byte ptr [ebp-3] ; 试炼码第2位
- 0041ABAE |. 83F9 33 cmp ecx, 33 ; 3
- 0041ABB1 |. 0F85 9A000000 jnz 0041AC51
- 0041ABB7 |. 0FB655 F6 movzx edx, byte ptr [ebp-A]
- 0041ABBB |. 83FA 30 cmp edx, 30 ; 0
- 0041ABBE |. 0F85 8D000000 jnz 0041AC51
- 0041ABC4 |. 0FB645 F5 movzx eax, byte ptr [ebp-B]
- 0041ABC8 |. 83F8 31 cmp eax, 31 ; 1
- 0041ABCB |. 0F85 80000000 jnz 0041AC51
- 0041ABD1 |. 0FB64D F9 movzx ecx, byte ptr [ebp-7]
- 0041ABD5 |. 83F9 36 cmp ecx, 36 ; 6
- 0041ABD8 |. 75 77 jnz short 0041AC51
- 0041ABDA |. 0FB655 F7 movzx edx, byte ptr [ebp-9]
- 0041ABDE |. 83FA 36 cmp edx, 36 ; 6
- 0041ABE1 |. 75 6E jnz short 0041AC51
- 0041ABE3 |. 0FB645 FE movzx eax, byte ptr [ebp-2]
- 0041ABE7 |. 83F8 36 cmp eax, 36 ; 6
- 0041ABEA |. 75 65 jnz short 0041AC51
- 0041ABEC |. 0FB64D FB movzx ecx, byte ptr [ebp-5]
- 0041ABF0 |. 83F9 36 cmp ecx, 36 ; 6
- 0041ABF3 |. 75 5C jnz short 0041AC51
- 0041ABF5 |> 6A 00 push 0
- 0041ABF7 |. 6A 00 push 0
- 0041ABF9 |. 68 40E44400 push 0044E440 ; registration has succeeded!
- 0041ABFE |. E8 066F0200 call 00441B09
- 0041AC03 |. 8B4D E0 mov ecx, dword ptr [ebp-20]
- 0041AC06 |. 83C1 70 add ecx, 70
- 0041AC09 |. E8 8202FFFF call 0040AE90
- 0041AC0E |. 50 push eax
- 0041AC0F |. 68 5CE44400 push 0044E45C ; username
- 0041AC14 |. 68 68E44400 push 0044E468 ; option
- 0041AC19 |. E8 F2CCFFFF call 00417910
- 0041AC1E |. 8BC8 mov ecx, eax ; |
- 0041AC20 |. E8 FB6F0200 call 00441C20 ; \CDDVDDR.00441C20
- 0041AC25 |. 8B4D E0 mov ecx, dword ptr [ebp-20]
- 0041AC28 |. 83C1 74 add ecx, 74
- 0041AC2B |. E8 6002FFFF call 0040AE90
- 0041AC30 |. 50 push eax
- 0041AC31 |. 68 70E44400 push 0044E470 ; registration_code
- 0041AC36 |. 68 84E44400 push 0044E484 ; option
- 0041AC3B |. E8 D0CCFFFF call 00417910
- 0041AC40 |. 8BC8 mov ecx, eax ; |
- 0041AC42 |. E8 D96F0200 call 00441C20 ; \CDDVDDR.00441C20
- 0041AC47 |. 8B4D E0 mov ecx, dword ptr [ebp-20]
- 0041AC4A |. E8 3F160200 call 0043C28E
- 0041AC4F |. EB 0E jmp short 0041AC5F
- 0041AC51 |> 6A 00 push 0
- 0041AC53 |. 6A 00 push 0
- 0041AC55 |. 68 8CE44400 push 0044E48C ; registration failed!
- 0041AC5A |. E8 AA6E0200 call 00441B09
- 0041AC5F |> 8BE5 mov esp, ebp
- 0041AC61 |. 5D pop ebp
- 0041AC62 \. C3 retn
复制代码
------------------------------------------------------------------------
【破解总结】
通用注册码:93016666
注册名必须大于等于2位;
注册码必须大于等于8位;
取注册名的第一与第二位 ASCII 码,第一位、第二位分别与 43 、44 及与 52、45 进行或运算,运算结果除以 0A 求余;
逐位取注册名的ASCII 码求和,再除以 0A 求余;将上面结果连接再加 3 位随机数即成注册码
算法比较简单,适合我等新手练习
附易语言注册机源码
- .版本 2
- .局部变量 name, 文本型
- .局部变量 i, 整数型
- .局部变量 lenn, 整数型
- .局部变量 code1, 字节型
- .局部变量 code4, 整数型
- .局部变量 code3, 文本型
- .局部变量 code2, 字节型
- name = 编辑框1.内容
- lenn = 取文本长度 (name)
- .判断开始 (lenn < 2) ' lenn=0 或 lenm=0
- 编辑框3.内容 = “★注册名必须2位以上★”
- .默认
- .计次循环首 (lenn, i)
- code1 = 取代码 (name, i)
- code4 = code1 + code4
- .计次循环尾 ()
- code1 = 取代码 (name, 1)
- code2 = 取代码 (name, 2)
- 置随机数种子 ()
- code3 = 到文本 (位或 (code1, 67) % 10) + 到文本 (位或 (code2, 68) % 10) + 到文本 (位或 (code1,
- 82) % 10) + 到文本 (位或 (code2, 69) % 10) + 到文本 (code4 % 10) + 到文本 (取随机数 (100, 999))
- 编辑框3.内容 = code3
- .判断结束
复制代码
------------------------------------------------------------------------
【版权声明】 |
|