datarecovery:CD DVD Data Recovery v1.0.810 注册分析(图)来源: 发布时间:星期四, 2009年3月12日 浏览:0次 评论:0
【破文标题】CD DVD Data Recovery v1.0.810 注册分析
【破文作者】ZHOU2X 【破解工具】OD PEID 【破解平台】Win XP 【软件Software名称】CD/DVD Data Recovery 【软件Software大小】476 KB 【原版下载】http://www.008soft.com/products/cddvddr.exe 【保护方式】注册码 【软件Software介绍】 CD DVD Data Recovery v1.0.810 软件Software大小 476 KB 软件Software类别 国外软件Software/光碟工具 运行环境 Win2003, WinXp, Win2000, Nt, WinMe, Win9x 软件Software语言 英文 整理时间 2006-8-3 9:48:22 相关连接 http://www.crsky.com/soft/6844.html 随着刻录机 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 在光盘驱动器中被正常读取 ![]() ![]() ![]() ![]() ![]() 复工具 ![]() ![]() ![]() ![]() ![]() 【破解声明】 ------------------------------------------------------------------------ 【破解过程】 PEID 扫描为 Microsoft Visual C ![]() ![]() 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 ![]() 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 ![]() 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 ![]() 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 ![]() 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 ![]() 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 ![]() 0041AA19 |. 0FB645 EF movzx eax, ![]() ![]() 0041AA1D |. 83C8 43 or eax, 43 ; 和 43 或运算 ![]() 0041AA20 |. 8845 EF mov ![]() 0041AA23 |. 0FB64D F8 movzx ecx, ![]() 0041AA27 |. 83C9 44 or ecx, 44 ; 和 44 或运算 ![]() 0041AA2A |. 884D F8 mov ![]() 0041AA2D |. 0FB655 FF movzx edx, ![]() ![]() 0041AA31 |. 83CA 52 or edx, 52 ; 和 52 或运算 ![]() 0041AA34 |. 8855 FF mov ![]() 0041AA37 |. 0FB645 FA movzx eax, ![]() 0041AA3B |. 83C8 45 or eax, 45 ; 和 45 或运算 ![]() 0041AA3E |. 8845 FA mov ![]() 0041AA41 |. 0FB645 EF movzx eax, ![]() 0041AA45 |. 99 cdq 0041AA46 |. B9 0A000000 mov ecx, 0A ; S1 除以 0A ![]() 0041AA4B |. F7F9 idiv ecx 0041AA4D |. 8855 EF mov ![]() 0041AA50 |. 0FB645 F8 movzx eax, ![]() 0041AA54 |. 99 cdq 0041AA55 |. B9 0A000000 mov ecx, 0A ; S2 除以 0A ![]() 0041AA5A |. F7F9 idiv ecx 0041AA5C |. 8855 F8 mov ![]() 0041AA5F |. 0FB645 FF movzx eax, ![]() 0041AA63 |. 99 cdq 0041AA64 |. B9 0A000000 mov ecx, 0A ; S3 除以 0A ![]() 0041AA69 |. F7F9 idiv ecx 0041AA6B |. 8855 FF mov ![]() 0041AA6E |. 0FB645 FA movzx eax, ![]() 0041AA72 |. 99 cdq 0041AA73 |. B9 0A000000 mov ecx, 0A ; S4 除以 0A ![]() 0041AA78 |. F7F9 idiv ecx 0041AA7A |. 8855 FA mov ![]() 0041AA7D |. C745 F0 00000>mov dword ptr [ebp-10], 0 0041AA84 |. C745 E8 00000>mov dword ptr [ebp-18], 0 0041AA8B |. EB 09 jmp ![]() 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 ![]() 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 ![]() 0041AAB8 |. 0FB64D E7 |movzx ecx, ![]() 0041AABC |. 034D F0 |add ecx, dword ptr [ebp-10] ; 该循环是注册名 ASCII 逐位相加求和 ![]() 0041AABF |. 894D F0 |mov dword ptr [ebp-10], ecx 0041AAC2 |.^ EB C9 \jmp ![]() 0041AAC4 |> 8B45 F0 mov eax, dword ptr [ebp-10] 0041AAC7 |. 99 cdq 0041AAC8 |. B9 0A000000 mov ecx, 0A ; S5 除以 0A ![]() 0041AACD |. F7F9 idiv ecx 0041AACF |. 8855 F4 mov ![]() 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 ![]() 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 ![]() 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 ![]() 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 ![]() 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 ![]() 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 ![]() 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 ![]() 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 ![]() 0041AB52 |. 0FB655 EF movzx edx, ![]() 0041AB56 |. 0FB645 FC movzx eax, ![]() 0041AB5A |. 83E8 30 sub eax, 30 ; 试炼码第1位=试炼码第1位-30 0041AB5D |. 3BD0 cmp edx, eax ; S1 和试炼码第1位比较 0041AB5F |. 75 3C jnz ![]() 0041AB61 |. 0FB64D F8 movzx ecx, ![]() 0041AB65 |. 0FB655 FD movzx edx, ![]() 0041AB69 |. 83EA 30 sub edx, 30 0041AB6C |. 3BCA cmp ecx, edx 0041AB6E |. 75 2D jnz ![]() 0041AB70 |. 0FB645 FF movzx eax, ![]() 0041AB74 |. 0FB64D F6 movzx ecx, ![]() 0041AB78 |. 83E9 30 sub ecx, 30 0041AB7B |. 3BC1 cmp eax, ecx 0041AB7D |. 75 1E jnz ![]() 0041AB7F |. 0FB655 FA movzx edx, ![]() 0041AB83 |. 0FB645 F5 movzx eax, ![]() 0041AB87 |. 83E8 30 sub eax, 30 0041AB8A |. 3BD0 cmp edx, eax 0041AB8C |. 75 0F jnz ![]() 0041AB8E |. 0FB64D F4 movzx ecx, ![]() 0041AB92 |. 0FB655 F9 movzx edx, ![]() 0041AB96 |. 83EA 30 sub edx, 30 0041AB99 |. 3BCA cmp ecx, edx 0041AB9B |. 74 58 je ![]() ![]() 0041AB9D |> 0FB645 FC movzx eax, ![]() 0041ABA1 |. 83F8 39 cmp eax, 39 ; 9 0041ABA4 |. 0F85 A7000000 jnz 0041AC51 ; 不等跳往失败(下同) 0041ABAA |. 0FB64D FD movzx ecx, ![]() 0041ABAE |. 83F9 33 cmp ecx, 33 ; 3 0041ABB1 |. 0F85 9A000000 jnz 0041AC51 0041ABB7 |. 0FB655 F6 movzx edx, ![]() 0041ABBB |. 83FA 30 cmp edx, 30 ; 0 0041ABBE |. 0F85 8D000000 jnz 0041AC51 0041ABC4 |. 0FB645 F5 movzx eax, ![]() 0041ABC8 |. 83F8 31 cmp eax, 31 ; 1 0041ABCB |. 0F85 80000000 jnz 0041AC51 0041ABD1 |. 0FB64D F9 movzx ecx, ![]() 0041ABD5 |. 83F9 36 cmp ecx, 36 ; 6 0041ABD8 |. 75 77 jnz ![]() 0041ABDA |. 0FB655 F7 movzx edx, ![]() 0041ABDE |. 83FA 36 cmp edx, 36 ; 6 0041ABE1 |. 75 6E jnz ![]() 0041ABE3 |. 0FB645 FE movzx eax, ![]() 0041ABE7 |. 83F8 36 cmp eax, 36 ; 6 0041ABEA |. 75 65 jnz ![]() 0041ABEC |. 0FB64D FB movzx ecx, ![]() 0041ABF0 |. 83F9 36 cmp ecx, 36 ; 6 0041ABF3 |. 75 5C jnz ![]() 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 ![]() 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位; 取注册名 ![]() ![]() ![]() ![]() ![]() 逐位取注册名 ![]() ![]() 算法比较简单 ![]() 附易语言注册机源码 .版本 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 .判断结束 ------------------------------------------------------------------------ 【版权声明】 ![]() ![]() 0
相关文章读者评论发表评论 |
|