专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »逆向工程 » datarecovery:CD DVD Data Recovery v1.0.810 注册分析(图) »正文

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
    随着刻录机普及刻录盘被广泛用于数据及资料备份但是由于各种原因你所备份数据可能已经无法
在光盘驱动器中被正常读取现在好了你有了个好帮手——CD/DVD Data recovery它是个光盘数据、多媒体恢
复工具适用于从各类无法正常读取 CD、DVD 中恢复数据该软件Software操作非常简便极易上手

【破解声明】
------------------------------------------------------------------------
【破解过程】
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      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      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      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      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      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      ptr [ebp-6], al
0041AA19  |.  0FB645 EF     movzx   eax, ptr [ebp-11]    ;  注册名 ASCII 第
0041AA1D  |.  83C8 43       or      eax, 43                   ;  和 43 或运算取为S1
0041AA20  |.  8845 EF       mov      ptr [ebp-11], al
0041AA23  |.  0FB64D F8     movzx   ecx, ptr [ebp-8]     ;  注册名 ASCII 第 2位
0041AA27  |.  83C9 44       or      ecx, 44                   ;  和 44 或运算取为S2
0041AA2A  |.  884D F8       mov      ptr [ebp-8], cl
0041AA2D  |.  0FB655 FF     movzx   edx, ptr [ebp-1]     ;  注册名 ASCII 第
0041AA31  |.  83CA 52       or      edx, 52                   ;  和 52 或运算取为S3
0041AA34  |.  8855 FF       mov      ptr [ebp-1], dl
0041AA37  |.  0FB645 FA     movzx   eax, ptr [ebp-6]     ;  注册名 ASCII 第 2位
0041AA3B  |.  83C8 45       or      eax, 45                   ;  和 45 或运算取为S4
0041AA3E  |.  8845 FA       mov      ptr [ebp-6], al
0041AA41  |.  0FB645 EF     movzx   eax, 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      ptr [ebp-11], dl
0041AA50  |.  0FB645 F8     movzx   eax, 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      ptr [ebp-8], dl
0041AA5F  |.  0FB645 FF     movzx   eax, 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      ptr [ebp-1], dl
0041AA6E  |.  0FB645 FA     movzx   eax, 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      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      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      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      ptr [ebp-19], al
0041AAB8  |.  0FB64D E7     |movzx   ecx, 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      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      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      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      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      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      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      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      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      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      ptr [ebp-5], al
0041AB52  |.  0FB655 EF     movzx   edx, ptr [ebp-11]    ;  S1
0041AB56  |.  0FB645 FC     movzx   eax, ptr [ebp-4]     ;  试炼码第1位
0041AB5A  |.  83E8 30       sub     eax, 30                   ;  试炼码第1位=试炼码第1位-30
0041AB5D  |.  3BD0          cmp     edx, eax                  ;  S1 和试炼码第1位比较
0041AB5F  |.  75 3C         jnz      0041AB9D            ;  不等就跳往进行通用码比较(下同)
0041AB61  |.  0FB64D F8     movzx   ecx, ptr [ebp-8]
0041AB65  |.  0FB655 FD     movzx   edx, ptr [ebp-3]
0041AB69  |.  83EA 30       sub     edx, 30
0041AB6C  |.  3BCA          cmp     ecx, edx
0041AB6E  |.  75 2D         jnz      0041AB9D            ;  S2 和试炼码第2位比较
0041AB70  |.  0FB645 FF     movzx   eax, ptr [ebp-1]
0041AB74  |.  0FB64D F6     movzx   ecx, ptr [ebp-A]
0041AB78  |.  83E9 30       sub     ecx, 30
0041AB7B  |.  3BC1          cmp     eax, ecx
0041AB7D  |.  75 1E         jnz      0041AB9D            ;  S3 和试炼码第3位比较
0041AB7F  |.  0FB655 FA     movzx   edx, ptr [ebp-6]
0041AB83  |.  0FB645 F5     movzx   eax, ptr [ebp-B]
0041AB87  |.  83E8 30       sub     eax, 30
0041AB8A  |.  3BD0          cmp     edx, eax
0041AB8C  |.  75 0F         jnz      0041AB9D            ;  S4 和试炼码第4位比较
0041AB8E  |.  0FB64D F4     movzx   ecx, ptr [ebp-C]
0041AB92  |.  0FB655 F9     movzx   edx, ptr [ebp-7]
0041AB96  |.  83EA 30       sub     edx, 30
0041AB99  |.  3BCA          cmp     ecx, edx
0041AB9B  |.  74 58         je       0041ABF5            ;  S5 和试炼码第5位比较如果相等则注册成功
0041AB9D  |>  0FB645 FC     movzx   eax, ptr [ebp-4]     ;  试炼码第1位;下面8位数字是通用码
0041ABA1  |.  83F8 39       cmp     eax, 39                   ;  9
0041ABA4  |.  0F85 A7000000 jnz     0041AC51                  ;  不等跳往失败(下同)
0041ABAA  |.  0FB64D FD     movzx   ecx, ptr [ebp-3]     ;  试炼码第2位
0041ABAE  |.  83F9 33       cmp     ecx, 33                   ;  3
0041ABB1  |.  0F85 9A000000 jnz     0041AC51
0041ABB7  |.  0FB655 F6     movzx   edx, ptr [ebp-A]
0041ABBB  |.  83FA 30       cmp     edx, 30                   ;  0
0041ABBE  |.  0F85 8D000000 jnz     0041AC51
0041ABC4  |.  0FB645 F5     movzx   eax, ptr [ebp-B]
0041ABC8  |.  83F8 31       cmp     eax, 31                   ;  1
0041ABCB  |.  0F85 80000000 jnz     0041AC51
0041ABD1  |.  0FB64D F9     movzx   ecx, ptr [ebp-7]
0041ABD5  |.  83F9 36       cmp     ecx, 36                   ;  6
0041ABD8  |.  75 77         jnz      0041AC51
0041ABDA  |.  0FB655 F7     movzx   edx, ptr [ebp-9]
0041ABDE  |.  83FA 36       cmp     edx, 36                   ;  6
0041ABE1  |.  75 6E         jnz      0041AC51
0041ABE3  |.  0FB645 FE     movzx   eax, ptr [ebp-2]
0041ABE7  |.  83F8 36       cmp     eax, 36                   ;  6
0041ABEA  |.  75 65         jnz      0041AC51
0041ABEC  |.  0FB64D FB     movzx   ecx, ptr [ebp-5]
0041ABF0  |.  83F9 36       cmp     ecx, 36                   ;  6
0041ABF3  |.  75 5C         jnz      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      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位;
取注册名和第 2位 ASCII 码位、第 2位分别和 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
.判断结束

------------------------------------------------------------------------
【版权声明】



0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: