飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2468|回复: 0

申请:Audio To Video Mixer V3.0.45注册算法破解分析

[复制链接]
  • TA的每日心情
    郁闷
    2016-1-23 16:20
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2006-3-14 02:16:10 | 显示全部楼层 |阅读模式
    【破文标题】Audio To Video Mixer V3.0.45注册算法破解分析
    【破文作者】gg1211[CZG][PYG][PCG]
    【破解平台】WinXp
    【作者邮箱】[email protected]
    【破解工具】PEiD 、OD
    【保护方式】用户名+序列号
    【破解目的】学习简单算法破解
    【破解声明】我乃小菜鸟一只,偶得一点心得,愿与大家分享:)
    【软件名称】Audio To Video Mixer V3.0.45
    【下载地址】http://www.skycn.com/soft/25454.html
    【软件简介】Audio to Video Mixer是一款视频编辑工具,用于将音频文件混合入视频中。它能够将你的家庭视频的原音消除,加入背景音乐,解说或更多的音轨。
    【破解步骤】先用PEiD 侦测,发现无壳
    试着运行软件,实验码gg1211
                                        12345678
    有错误提示,“registration failed",od载入根据提示信息来到这里下断

    004169F3   .  55            push    ebp                   \\下断点
    004169F4   .  56            push    esi
    004169F5   .  57            push    edi
    004169F6   .  BF 01000000   mov     edi, 1
    004169FB   .  57            push    edi
    004169FC   .  8BF1          mov     esi, ecx
    004169FE   .  E8 BDB40100   call    00431EC0
    00416A03   .  8B46 70       mov     eax, [esi+70]
    00416A06   .  8B68 F4       mov     ebp, [eax-C]
    00416A09   .  83FD 02       cmp     ebp, 2                           ;  判断用户名是否小于2位,不跳则死
    00416A0C   .  7D 15         jge     short 00416A23
    00416A0E   .  6A 00         push    0
    00416A10   .  6A 00         push    0
    00416A12   .  68 DC874400   push    004487DC                         ;  please input correct user name!
    00416A17   .  E8 A4510200   call    0043BBC0
    00416A1C   .  5F            pop     edi
    00416A1D   .  5E            pop     esi
    00416A1E   .  5D            pop     ebp
    00416A1F   .  83C4 0C       add     esp, 0C
    00416A22   .  C3            retn
    00416A23   >  8B4E 74       mov     ecx, [esi+74]
    00416A26   .  8379 F4 08    cmp     dword ptr [ecx-C], 8             ;  判断注册码是否大于8位,小于死
    00416A2A   .  7D 15         jge     short 00416A41
    00416A2C   .  6A 00         push    0
    00416A2E   .  6A 00         push    0
    00416A30   .  68 B4874400   push    004487B4                         ;  please input correct registration code!
    00416A35   .  E8 86510200   call    0043BBC0
    00416A3A   .  5F            pop     edi
    00416A3B   .  5E            pop     esi
    00416A3C   .  5D            pop     ebp
    00416A3D   .  83C4 0C       add     esp, 0C
    00416A40   .  C3            retn
    00416A41   >  8B46 70       mov     eax, [esi+70]
    00416A44   .  8B48 F4       mov     ecx, [eax-C]
    00416A47   .  85C9          test    ecx, ecx
    00416A49   .  7D 0A         jge     short 00416A55
    00416A4B   .  68 57000780   push    80070057
    00416A50   .  E8 ABA8FEFF   call    00401300
    00416A55   >  8A10          mov     dl, [eax]                        
    00416A57   .  8B46 70       mov     eax, [esi+70]
    00416A5A   .  3978 F4       cmp     [eax-C], edi
    00416A5D   .  7D 0A         jge     short 00416A69
    00416A5F   .  68 57000780   push    80070057
    00416A64   .  E8 97A8FEFF   call    00401300
    00416A69   >  8A40 01       mov     al, [eax+1]                    
    00416A6C   .  884424 0E     mov     [esp+E], al
    00416A70   .  8B46 70       mov     eax, [esi+70]
    00416A73   .  8B48 F4       mov     ecx, [eax-C]
    00416A76   .  85C9          test    ecx, ecx
    00416A78   .  7D 0A         jge     short 00416A84
    00416A7A   .  68 57000780   push    80070057
    00416A7F   .  E8 7CA8FEFF   call    00401300
    00416A84   >  8B4E 70       mov     ecx, [esi+70]
    00416A87   .  53            push    ebx
    00416A88   .  8A18          mov     bl, [eax]                                   
    00416A8A   .  3979 F4       cmp     [ecx-C], edi
    00416A8D   .  7D 0A         jge     short 00416A99
    00416A8F   .  68 57000780   push    80070057
    00416A94   .  E8 67A8FEFF   call    00401300
    00416A99   >  0FB6C2        movzx   eax, dl                    \\计算第一位注册码
    00416A9C   .  83C8 41       or      eax, 41
    00416A9F   .  99            cdq
    00416AA0   .  BF 0A000000   mov     edi, 0A
    00416AA5   .  F7FF          idiv    edi
    00416AA7   .  0FB64424 12   movzx   eax, byte ptr [esp+12]             \\计算第2位注册码
    00416AAC   .  83C8 32       or      eax, 32
    00416AAF   .  885424 16     mov     [esp+16], dl                 \\dl=3
    00416AB3   .  99            cdq
    00416AB4   .  F7FF          idiv    edi
    00416AB6   .  0FB6C3        movzx   eax, bl                                     \\计算第3位注册码
    00416AB9   .  83C8 56       or      eax, 56
    00416ABC   .  885424 12     mov     [esp+12], dl                     \\dl=9
    00416AC0   .  99            cdq
    00416AC1   .  F7FF          idiv    edi
    00416AC3   .  0FB641 01     movzx   eax, byte ptr [ecx+1]                  \\计算第4位注册码
    00416AC7   .  83C8 4D       or      eax, 4D
    00416ACA   .  8BCF          mov     ecx, edi
    00416ACC   .  885424 17     mov     [esp+17], dl                  \\dl=9
    00416AD0   .  99            cdq
    00416AD1   .  F7F9          idiv    ecx
    00416AD3   .  33C0          xor     eax, eax
    00416AD5   .  33C9          xor     ecx, ecx
    00416AD7   .  85ED          test    ebp, ebp
    00416AD9   .  885424 18     mov     [esp+18], dl                          \\到了=1
    00416ADD   .  7E 20         jle     short 00416AFF
    00416ADF   .  90            nop
    00416AE0   >  85C9          test    ecx, ecx                         \\用户名asc累加求和循环eax=193
    00416AE2   .  0F8C D2000000 jl      00416BBA                  \\开始计算第5位
    00416AE8   .  8B7E 70       mov     edi, [esi+70]
    00416AEB   .  3B4F F4       cmp     ecx, [edi-C]
    00416AEE   .  0F8F C6000000 jg      00416BBA
    00416AF4   .  0FB6140F      movzx   edx, byte ptr [edi+ecx]
    00416AF8   .  03C2          add     eax, edx
    00416AFA   .  41            inc     ecx
    00416AFB   .  3BCD          cmp     ecx, ebp
    00416AFD   .^ 7C E1         jl      short 00416AE0
    00416AFF   >  8B4E 74       mov     ecx, [esi+74]
    00416B02   .  8B51 F4       mov     edx, [ecx-C]
    00416B05   .  85D2          test    edx, edx
    00416B07   .  7D 0A         jge     short 00416B13
    00416B09   .  68 57000780   push    80070057
    00416B0E   .  E8 EDA7FEFF   call    00401300
    00416B13   >  8A11          mov     dl, [ecx]
    00416B15   .  8B4E 74       mov     ecx, [esi+74]
    00416B18   .  8379 F4 01    cmp     dword ptr [ecx-C], 1
    00416B1C   .  885424 19     mov     [esp+19], dl                                 \\dl=3
    00416B20   .  7D 0A         jge     short 00416B2C
    00416B22   .  68 57000780   push    80070057
    00416B27   .  E8 D4A7FEFF   call    00401300
    00416B2C   >  8A49 01       mov     cl, [ecx+1]
    00416B2F   .  8B7E 74       mov     edi, [esi+74]
    00416B32   .  884C24 13     mov     [esp+13], cl
    00416B36   .  837F F4 02    cmp     dword ptr [edi-C], 2
    00416B3A   .  7D 0A         jge     short 00416B46
    00416B3C   .  68 57000780   push    80070057
    00416B41   .  E8 BAA7FEFF   call    00401300
    00416B46   >  8A4F 02       mov     cl, [edi+2]
    00416B49   .  8B7E 74       mov     edi, [esi+74]
    00416B4C   .  884C24 14     mov     [esp+14], cl
    00416B50   .  837F F4 03    cmp     dword ptr [edi-C], 3
    00416B54   .  7D 0A         jge     short 00416B60
    00416B56   .  68 57000780   push    80070057
    00416B5B   .  E8 A0A7FEFF   call    00401300
    00416B60   >  8A4F 03       mov     cl, [edi+3]
    00416B63   .  8B7E 74       mov     edi, [esi+74]
    00416B66   .  884C24 15     mov     [esp+15], cl
    00416B6A   .  837F F4 04    cmp     dword ptr [edi-C], 4
    00416B6E   .  7D 0A         jge     short 00416B7A
    00416B70   .  68 57000780   push    80070057
    00416B75   .  E8 86A7FEFF   call    00401300
    00416B7A   >  8A4F 04       mov     cl, [edi+4]
    00416B7D   .  8B7E 74       mov     edi, [esi+74]
    00416B80   .  837F F4 05    cmp     dword ptr [edi-C], 5
    00416B84   .  7D 0A         jge     short 00416B90
    00416B86   .  68 57000780   push    80070057
    00416B8B   .  E8 70A7FEFF   call    00401300
    00416B90   >  8A5F 05       mov     bl, [edi+5]
    00416B93   .  8B7E 74       mov     edi, [esi+74]
    00416B96   .  885C24 1A     mov     [esp+1A], bl
    00416B9A   .  837F F4 06    cmp     dword ptr [edi-C], 6
    00416B9E   .  7D 0A         jge     short 00416BAA
    00416BA0   .  68 57000780   push    80070057
    00416BA5   .  E8 56A7FEFF   call    00401300
    00416BAA   >  8A5F 06       mov     bl, [edi+6]
    00416BAD   .  8B7E 74       mov     edi, [esi+74]
    00416BB0   .  885C24 1B     mov     [esp+1B], bl
    00416BB4   .  837F F4 07    cmp     dword ptr [edi-C], 7
    00416BB8   .  7D 0A         jge     short 00416BC4
    00416BBA   >  68 57000780   push    80070057
    00416BBF   .  E8 3CA7FEFF   call    00401300
    00416BC4   >  8A5F 07       mov     bl, [edi+7]
    00416BC7   .  0FB67C24 16   movzx   edi, byte ptr [esp+16]
    00416BCC   .  0FB6D2        movzx   edx, dl
    00416BCF   .  83EA 30       sub     edx, 30
    00416BD2   .  3BFA          cmp     edi, edx                         ;  判断第一位注册码
    00416BD4   .  75 48         jnz     short 00416C1E
    00416BD6   .  0FB65424 13   movzx   edx, byte ptr [esp+13]
    00416BDB   .  0FB67C24 12   movzx   edi, byte ptr [esp+12]
    00416BE0   .  83EA 30       sub     edx, 30
    00416BE3   .  3BFA          cmp     edi, edx                         ;  判断第2位注册码
    00416BE5   .  75 37         jnz     short 00416C1E
    00416BE7   .  0FB65424 14   movzx   edx, byte ptr [esp+14]
    00416BEC   .  0FB67C24 17   movzx   edi, byte ptr [esp+17]
    00416BF1   .  83EA 30       sub     edx, 30
    00416BF4   .  3BFA          cmp     edi, edx                         ;  判断第3位注册码
    00416BF6   .  75 26         jnz     short 00416C1E
    00416BF8   .  0FB65424 15   movzx   edx, byte ptr [esp+15]
    00416BFD   .  0FB67C24 18   movzx   edi, byte ptr [esp+18]
    00416C02   .  83EA 30       sub     edx, 30
    00416C05   .  3BFA          cmp     edi, edx                         ;  判断第4位注册码
    00416C07   .  75 15         jnz     short 00416C1E
    00416C09   .  99            cdq
    00416C0A   .  BF 0A000000   mov     edi, 0A
    00416C0F   .  F7FF          idiv    edi
    00416C11   .  0FB6C2        movzx   eax, dl
    00416C14   .  0FB6D1        movzx   edx, cl
    00416C17   .  83EA 30       sub     edx, 30
    00416C1A   .  3BC2          cmp     eax, edx                         ;  判断第5位注册码
    00416C1C   .  74 3A         je      short 00416C58
    00416C1E   >  807C24 19 31  cmp     byte ptr [esp+19], 31
    00416C23   .  0F85 85000000 jnz     00416CAE
    00416C29   .  807C24 13 32  cmp     byte ptr [esp+13], 32
    00416C2E   .  75 7E         jnz     short 00416CAE
    00416C30   .  8A5424 14     mov     dl, [esp+14]
    00416C34   .  B0 38         mov     al, 38
    00416C36   .  3AD0          cmp     dl, al
    00416C38   .  75 74         jnz     short 00416CAE
    00416C3A   .  807C24 15 30  cmp     byte ptr [esp+15], 30
    00416C3F   .  75 6D         jnz     short 00416CAE
    00416C41   .  80F9 37       cmp     cl, 37
    00416C44   .  75 68         jnz     short 00416CAE
    00416C46   .  384424 1A     cmp     [esp+1A], al
    00416C4A   .  75 62         jnz     short 00416CAE
    00416C4C   .  807C24 1B 33  cmp     byte ptr [esp+1B], 33
    00416C51   .  75 5B         jnz     short 00416CAE
    00416C53   .  80FB 35       cmp     bl, 35
    00416C56   .  75 56         jnz     short 00416CAE
    00416C58   >  6A 00         push    0
    00416C5A   .  6A 00         push    0
    00416C5C   .  68 98874400   push    00448798                         ;  registration has succeeded!
    00416C61   .  E8 5A4F0200   call    0043BBC0
    00416C66   .  8B7E 70       mov     edi, [esi+70]
    00416C69   .  E8 3B8E0200   call    0043FAA9
    00416C6E   .  8B40 04       mov     eax, [eax+4]
    00416C71   .  57            push    edi                              ; /Arg3
    00416C72   .  68 547C4400   push    00447C54                         ; |username
    00416C77   .  68 4C7C4400   push    00447C4C                         ; |option
    00416C7C   .  8BC8          mov     ecx, eax                         ; |
    00416C7E   .  E8 43500200   call    0043BCC6                         ; \a2vmixer.0043BCC6
    00416C83   .  8B7E 74       mov     edi, [esi+74]
    00416C86   .  E8 1E8E0200   call    0043FAA9
    00416C8B   .  8B40 04       mov     eax, [eax+4]
    00416C8E   .  57            push    edi                              ; /Arg3
    00416C8F   .  68 387C4400   push    00447C38                         ; |registration_code
    00416C94   .  68 4C7C4400   push    00447C4C                         ; |option
    00416C99   .  8BC8          mov     ecx, eax                         ; |
    00416C9B   .  E8 26500200   call    0043BCC6                         ; \a2vmixer.0043BCC6
    00416CA0   .  5B            pop     ebx
    00416CA1   .  5F            pop     edi
    00416CA2   .  8BCE          mov     ecx, esi
    00416CA4   .  5E            pop     esi
    00416CA5   .  5D            pop     ebp
    00416CA6   .  83C4 0C       add     esp, 0C
    00416CA9   .  E9 A4F10100   jmp     00435E52
    00416CAE   >  6A 00         push    0
    00416CB0   .  6A 00         push    0
    00416CB2   .  68 80874400   push    00448780                         ;  registration failed!

    通过简单分析
    发现用注册码要求8位以上
    但是检验得时候只是前5位
    他得算法是取用户名得前两位两次abab型
    我得是gggg
    67 or 41 ->77 idv a->a,3
    67 or 32 ->32 idiv a->b,9
    67 or 56->77 idiv a->b,9
    67 or 4d ->6f idiv a-> b,1
    得到前四位 3991
    的无为是由用户名asc合 idiv a ->28,3
    故前五位是39913
    然后随便加上三位以上得注册码就可以了
    我得注册码是gg1211
    399139999

    [ 本帖最后由 gg1211 于 2006-3-14 05:55 编辑 ]
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表