【破文标题】Audio To Video Mixer 3.1 注册码分析
【破文作者】foresee
【作者邮箱】vangjian#hotmail.com
【作者主页】无
【破解工具】OD、PEiD
【破解平台】Win2000
【软件名称】Audio To Video Mixer 3.1
【软件大小】708KB
【原版下载】http://www.009soft.com/products/audio-video-mixer.htm
【保护方式】无
【软件简介】Audio to Video Mixer is a video editing tool to mix audio files into video. It can remove original sound from your home video, add background music, narration or more sound tracks to the video
【破解声明】存属爱好,无恶意目的
------------------------------------------------------------------------
运行程序,尝试错误提示,关闭,然后OD载入,查找错误字串,很好找到下断之处

00416B50   .  83EC 0C       sub     esp, 0C                          ;  esp=00096AAC
00416B53   .  55            push    ebp                              ;  ebp=00096AB8
00416B54   .  56            push    esi                              ;  esi=0044B410 (a2vmixer.0044B410)
00416B55   .  57            push    edi                              ;  edi=00000001
00416B56   .  BF 01000000   mov     edi, 1
00416B5B   .  57            push    edi
00416B5C   .  8BF1          mov     esi, ecx                         ;  ecx=00097084
00416B5E   .  E8 9DB40100   call    00432000
00416B63   .  8B46 70       mov     eax, dword ptr [esi+70]          ;  堆栈 ds:[000970F4]=00DB5448, (ASCII "foresee")
00416B66   .  8B68 F4       mov     ebp, dword ptr [eax-C]           ;  ds:[00DB543C]=00000007,用户名长度
00416B69   .  83FD 02       cmp     ebp, 2                           ;  用户名必须在两位或两位以上
00416B6C   .  7D 15         jge     short 00416B83                   ;  如果小于,弹出Please input correct User Name!大于或等于跳走
00416B6E   .  6A 00         push    0
00416B70   .  6A 00         push    0
00416B72   .  68 C0884400   push    004488C0                         ;  004488C0=004488C0 (ASCII "Please input correct User Name!")
00416B77   .  E8 84510200   call    0043BD00
00416B7C   .  5F            pop     edi
00416B7D   .  5E            pop     esi
00416B7E   .  5D            pop     ebp
00416B7F   .  83C4 0C       add     esp, 0C
00416B82   .  C3            retn
00416B83   >  8B4E 74       mov     ecx, dword ptr [esi+74]          ;  堆栈 ds:[000970F8]=00DB5468, (ASCII "1234567890")
00416B86   .  8379 F4 08    cmp     dword ptr [ecx-C], 8             ;  序列号长度  ds:[00DB545C]=0000000A,序列号长度要大于等于8
00416B8A   .  7D 15         jge     short 00416BA1                   ;  如果小于,弹出Please input correct Registration Code!,大于或等于跳走
00416B8C   .  6A 00         push    0
00416B8E   .  6A 00         push    0
00416B90   .  68 98884400   push    00448898                         ;  00448898=00448898 (ASCII "Please input correct Registration Code!")
00416B95   .  E8 66510200   call    0043BD00
00416B9A   .  5F            pop     edi
00416B9B   .  5E            pop     esi
00416B9C   .  5D            pop     ebp
00416B9D   .  83C4 0C       add     esp, 0C
00416BA0   .  C3            retn
00416BA1   >  8B46 70       mov     eax, dword ptr [esi+70]          ;  堆栈 ds:[000970F4]=00DB5448, (ASCII "foresee")
00416BA4   .  8B48 F4       mov     ecx, dword ptr [eax-C]           ;  ds:[00DB543C]=00000007
00416BA7   .  85C9          test    ecx, ecx
00416BA9   .  7D 0A         jge     short 00416BB5
00416BAB   .  68 57000780   push    80070057
00416BB0   .  E8 4BA7FEFF   call    00401300
00416BB5   >  8A10          mov     dl, byte ptr [eax]               ;  ds:[00DB5448]=66 ('f')
00416BB7   .  8B46 70       mov     eax, dword ptr [esi+70]          ;  堆栈 ds:[000970F4]=00DB5448, (ASCII "foresee")
00416BBA   .  3978 F4       cmp     dword ptr [eax-C], edi           ;  edi=00000001  ds:[00DB543C]=00000007
00416BBD   .  7D 0A         jge     short 00416BC9
00416BBF   .  68 57000780   push    80070057
00416BC4   .  E8 37A7FEFF   call    00401300
00416BC9   >  8A40 01       mov     al, byte ptr [eax+1]             ;  ds:[00DB5449]=6F ('o')
00416BCC   .  884424 0E     mov     byte ptr [esp+E], al
00416BD0   .  8B46 70       mov     eax, dword ptr [esi+70]          ;  堆栈 ds:[000970F4]=00DB5448, (ASCII "foresee")
00416BD3   .  8B48 F4       mov     ecx, dword ptr [eax-C]           ;  ds:[00DB543C]=00000007
00416BD6   .  85C9          test    ecx, ecx
00416BD8   .  7D 0A         jge     short 00416BE4
00416BDA   .  68 57000780   push    80070057
00416BDF   .  E8 1CA7FEFF   call    00401300
00416BE4   >  8B4E 70       mov     ecx, dword ptr [esi+70]          ;  堆栈 ds:[000970F4]=00DB5448, (ASCII "foresee")
00416BE7   .  53            push    ebx                              ;  ebx=00000111
00416BE8   .  8A18          mov     bl, byte ptr [eax]               ;  ds:[00DB5448]=66 ('f')
00416BEA   .  3979 F4       cmp     dword ptr [ecx-C], edi           ;  edi=00000001
00416BED   .  7D 0A         jge     short 00416BF9
00416BEF   .  68 57000780   push    80070057
00416BF4   .  E8 07A7FEFF   call    00401300
00416BF9   >  0FB6C2        movzx   eax, dl                          ;  dl=66 ('f')
00416BFC   .  83C8 41       or      eax, 41                          ;  第一个字母和41或操作
00416BFF   .  99            cdq
00416C00   .  BF 0A000000   mov     edi, 0A                          ;  0A->edi
00416C05   .  F7FF          idiv    edi                              ;  eax/edi,余数放edx
00416C07   .  0FB64424 12   movzx   eax, byte ptr [esp+12]           ;  堆栈 ss:[00096AA2]=6F ('o'),用户名第二位
00416C0C   .  83C8 32       or      eax, 32                          ;  与32或操作
00416C0F   .  885424 16     mov     byte ptr [esp+16], dl            ;  保存第一次运算所得的余数,dl=3
00416C13   .  99            cdq
00416C14   .  F7FF          idiv    edi                              ;  eax/edi,余数存入dx
00416C16   .  0FB6C3        movzx   eax, bl                          ;  bl=66 ('f')
00416C19   .  83C8 56       or      eax, 56                          ;  56->eax
00416C1C   .  885424 12     mov     byte ptr [esp+12], dl            ;  保存第二次运算所得余数,dl=7
00416C20   .  99            cdq
00416C21   .  F7FF          idiv    edi
00416C23   .  0FB641 01     movzx   eax, byte ptr [ecx+1]            ;  ds:[00DB5449]=6F ('o')
00416C27   .  83C8 4D       or      eax, 4D                          ;  4D->eax
00416C2A   .  8BCF          mov     ecx, edi                         ;  edi=0000000A->ecx
00416C2C   .  885424 17     mov     byte ptr [esp+17], dl            ;  dl=08 (Backspace)
00416C30   .  99            cdq
00416C31   .  F7F9          idiv    ecx                              ;  edi->ecx->10
00416C33   .  33C0          xor     eax, eax
00416C35   .  33C9          xor     ecx, ecx
00416C37   .  85ED          test    ebp, ebp
00416C39   .  885424 18     mov     byte ptr [esp+18], dl            ;  dl=01
00416C3D   .  7E 20         jle     short 00416C5F
00416C3F   .  90            nop
00416C40   >  85C9          test    ecx, ecx
00416C42   .  0F8C D2000000 jl      00416D1A
00416C48   .  8B7E 70       mov     edi, dword ptr [esi+70]          ;  堆栈 ds:[000970F4]=00DB5448, (ASCII "foresee")
00416C4B   .  3B4F F4       cmp     ecx, dword ptr [edi-C]           ;  ds:[00DB543C]=00000007
00416C4E   .  0F8F C6000000 jg      00416D1A
00416C54   .  0FB6140F      movzx   edx, byte ptr [edi+ecx]          ;  ds:[00DB5448]=66 ('f')
00416C58   .  03C2          add     eax, edx
00416C5A   .  41            inc     ecx
00416C5B   .  3BCD          cmp     ecx, ebp
00416C5D   .^ 7C E1         jl      short 00416C40
00416C5F   >  8B4E 74       mov     ecx, dword ptr [esi+74]          ;  堆栈 ds:[000970F8]=00DB5468, (ASCII "1234567890")
00416C62   .  8B51 F4       mov     edx, dword ptr [ecx-C]           ;  ds:[00DB545C]=0000000A
00416C65   .  85D2          test    edx, edx
00416C67   .  7D 0A         jge     short 00416C73
00416C69   .  68 57000780   push    80070057
00416C6E   .  E8 8DA6FEFF   call    00401300
00416C73   >  8A11          mov     dl, byte ptr [ecx]               ;  ds:[00DB5468]=31 ('1')
00416C75   .  8B4E 74       mov     ecx, dword ptr [esi+74]          ;  堆栈 ds:[000970F8]=00DB5468, (ASCII "1234567890")
00416C78   .  8379 F4 01    cmp     dword ptr [ecx-C], 1             ;  ds:[00DB545C]=0000000A
00416C7C   .  885424 19     mov     byte ptr [esp+19], dl
00416C80   .  7D 0A         jge     short 00416C8C
00416C82   .  68 57000780   push    80070057
00416C87   .  E8 74A6FEFF   call    00401300
00416C8C   >  8A49 01       mov     cl, byte ptr [ecx+1]             ;  ds:[00DB5469]=32 ('2')
00416C8F   .  8B7E 74       mov     edi, dword ptr [esi+74]          ;  堆栈 ds:[000970F8]=00DB5468, (ASCII "1234567890")
00416C92   .  884C24 13     mov     byte ptr [esp+13], cl            ;  cl=32 ('2')
00416C96   .  837F F4 02    cmp     dword ptr [edi-C], 2             ;  ds:[00DB545C]=0000000A
00416C9A   .  7D 0A         jge     short 00416CA6
00416C9C   .  68 57000780   push    80070057
00416CA1   .  E8 5AA6FEFF   call    00401300
00416CA6   >  8A4F 02       mov     cl, byte ptr [edi+2]             ;  ds:[00DB546A]=33 ('3')
00416CA9   .  8B7E 74       mov     edi, dword ptr [esi+74]          ;  堆栈 ds:[000970F8]=00DB5468, (ASCII "1234567890")
00416CAC   .  884C24 14     mov     byte ptr [esp+14], cl            ;  cl=33 ('3')
00416CB0   .  837F F4 03    cmp     dword ptr [edi-C], 3             ;  ds:[00DB545C]=0000000A
00416CB4   .  7D 0A         jge     short 00416CC0
00416CB6   .  68 57000780   push    80070057
00416CBB   .  E8 40A6FEFF   call    00401300
00416CC0   >  8A4F 03       mov     cl, byte ptr [edi+3]             ;  ds:[00DB542B]=34 ('4')
00416CC3   .  8B7E 74       mov     edi, dword ptr [esi+74]          ;  堆栈 ds:[000970F8]=00DB5428, (ASCII "1234567890")
00416CC6   .  884C24 15     mov     byte ptr [esp+15], cl            ;  cl=34 ('4')
00416CCA   .  837F F4 04    cmp     dword ptr [edi-C], 4             ;  ds:[00DB541C]=0000000A
00416CCE   .  7D 0A         jge     short 00416CDA
00416CD0   .  68 57000780   push    80070057
00416CD5   .  E8 26A6FEFF   call    00401300
00416CDA   >  8A4F 04       mov     cl, byte ptr [edi+4]             ;  ds:[00DB542C]=35 ('5')
00416CDD   .  8B7E 74       mov     edi, dword ptr [esi+74]          ;  堆栈 ds:[000970F8]=00DB5428, (ASCII "1234567890")
00416CE0   .  837F F4 05    cmp     dword ptr [edi-C], 5             ;  ds:[00DB541C]=0000000A
00416CE4   .  7D 0A         jge     short 00416CF0
00416CE6   .  68 57000780   push    80070057
00416CEB   .  E8 10A6FEFF   call    00401300
00416CF0   >  8A5F 05       mov     bl, byte ptr [edi+5]             ;  ds:[00DB542D]=36 ('6')
00416CF3   .  8B7E 74       mov     edi, dword ptr [esi+74]          ;  堆栈 ds:[000970F8]=00DB5428, (ASCII "1234567890")
00416CF6   .  885C24 1A     mov     byte ptr [esp+1A], bl            ;  bl=36 ('6')
00416CFA   .  837F F4 06    cmp     dword ptr [edi-C], 6             ;  ds:[00DB541C]=0000000A
00416CFE   .  7D 0A         jge     short 00416D0A
00416D00   .  68 57000780   push    80070057
00416D05   .  E8 F6A5FEFF   call    00401300
00416D0A   >  8A5F 06       mov     bl, byte ptr [edi+6]             ;  ds:[00DB542E]=37 ('7')
00416D0D   .  8B7E 74       mov     edi, dword ptr [esi+74]          ;  堆栈 ds:[000970F8]=00DB5428, (ASCII "1234567890")
00416D10   .  885C24 1B     mov     byte ptr [esp+1B], bl            ;  bl=37 ('7')
00416D14   .  837F F4 07    cmp     dword ptr [edi-C], 7
00416D18   .  7D 0A         jge     short 00416D24
00416D1A   >  68 57000780   push    80070057
00416D1F   .  E8 DCA5FEFF   call    00401300
00416D24   >  8A5F 07       mov     bl, byte ptr [edi+7]             ;  ds:[00DB542F]=38 ('8')
00416D27   .  0FB67C24 16   movzx   edi, byte ptr [esp+16]           ;  堆栈 ss:[00096AA6]=03
00416D2C   .  0FB6D2        movzx   edx, dl                          ;  dl=31 ('1')
00416D2F   .  83EA 30       sub     edx, 30                          ;  edx=00000031
00416D32   .  3BFA          cmp     edi, edx
00416D34   .  75 48         jnz     short 00416D7E                   ;  判断第一位是否为3
00416D36   .  0FB65424 13   movzx   edx, byte ptr [esp+13]
00416D3B   .  0FB67C24 12   movzx   edi, byte ptr [esp+12]
00416D40   .  83EA 30       sub     edx, 30
00416D43   .  3BFA          cmp     edi, edx
00416D45   .  75 37         jnz     short 00416D7E                   ;  判断第二位是否为7
00416D47   .  0FB65424 14   movzx   edx, byte ptr [esp+14]
00416D4C   .  0FB67C24 17   movzx   edi, byte ptr [esp+17]
00416D51   .  83EA 30       sub     edx, 30
00416D54   .  3BFA          cmp     edi, edx                         ;  判断真假注册码第三位是否为8
00416D56   .  75 26         jnz     short 00416D7E
00416D58   .  0FB65424 15   movzx   edx, byte ptr [esp+15]
00416D5D   .  0FB67C24 18   movzx   edi, byte ptr [esp+18]
00416D62   .  83EA 30       sub     edx, 30
00416D65   .  3BFA          cmp     edi, edx                         ;  判断第四位是否为1
00416D67   .  75 15         jnz     short 00416D7E
00416D69   .  99            cdq
00416D6A   .  BF 0A000000   mov     edi, 0A
00416D6F   .  F7FF          idiv    edi
00416D71   .  0FB6C2        movzx   eax, dl                          ;  dl=05
00416D74   .  0FB6D1        movzx   edx, cl                          ;  cl=31 ('1')
00416D77   .  83EA 30       sub     edx, 30                          ;  edx=00000031
00416D7A   .  3BC2          cmp     eax, edx                         ;  判断第五位是否为5
00416D7C   .  74 3A         je      short 00416DB8
00416D7E   >  807C24 19 31  cmp     byte ptr [esp+19], 31            ;  堆栈 ss:[00096AA9]=31 ('1')
00416D83   .  0F85 85000000 jnz     00416E0E
00416D89   .  807C24 13 32  cmp     byte ptr [esp+13], 32
00416D8E   .  75 7E         jnz     short 00416E0E
00416D90   .  8A5424 14     mov     dl, byte ptr [esp+14]
00416D94   .  B0 38         mov     al, 38
00416D96   .  3AD0          cmp     dl, al
00416D98   .  75 74         jnz     short 00416E0E
00416D9A   .  807C24 15 30  cmp     byte ptr [esp+15], 30
00416D9F   .  75 6D         jnz     short 00416E0E
00416DA1   .  80F9 37       cmp     cl, 37
00416DA4   .  75 68         jnz     short 00416E0E
00416DA6   .  384424 1A     cmp     byte ptr [esp+1A], al
00416DAA   .  75 62         jnz     short 00416E0E
00416DAC   .  807C24 1B 33  cmp     byte ptr [esp+1B], 33
00416DB1   .  75 5B         jnz     short 00416E0E
00416DB3   .  80FB 35       cmp     bl, 35
00416DB6   .  75 56         jnz     short 00416E0E
00416DB8   >  6A 00         push    0
00416DBA   .  6A 00         push    0
00416DBC   .  68 7C884400   push    0044887C                         ;  ASCII "Registration has succeeded!"
00416DC1   .  E8 3A4F0200   call    0043BD00
00416DC6   .  8B7E 70       mov     edi, dword ptr [esi+70]
00416DC9   .  E8 1B8E0200   call    0043FBE9
00416DCE   .  8B40 04       mov     eax, dword ptr [eax+4]
00416DD1   .  57            push    edi                              ; /Arg3
00416DD2   .  68 547C4400   push    00447C54                         ; |Arg2 = 00447C54 ASCII "username"
00416DD7   .  68 4C7C4400   push    00447C4C                         ; |Arg1 = 00447C4C ASCII "Option"
00416DDC   .  8BC8          mov     ecx, eax                         ; |
00416DDE   .  E8 23500200   call    0043BE06                         ; \a2vmixer.0043BE06
00416DE3   .  8B7E 74       mov     edi, dword ptr [esi+74]
00416DE6   .  E8 FE8D0200   call    0043FBE9
00416DEB   .  8B40 04       mov     eax, dword ptr [eax+4]
00416DEE   .  57            push    edi                              ; /Arg3
00416DEF   .  68 387C4400   push    00447C38                         ; |Arg2 = 00447C38 ASCII "registration_code"
00416DF4   .  68 4C7C4400   push    00447C4C                         ; |Arg1 = 00447C4C ASCII "Option"
00416DF9   .  8BC8          mov     ecx, eax                         ; |
00416DFB   .  E8 06500200   call    0043BE06                         ; \a2vmixer.0043BE06
00416E00   .  5B            pop     ebx
00416E01   .  5F            pop     edi
00416E02   .  8BCE          mov     ecx, esi
00416E04   .  5E            pop     esi
00416E05   .  5D            pop     ebp
00416E06   .  83C4 0C       add     esp, 0C
00416E09   .  E9 84F10100   jmp     00435F92
00416E0E   >  6A 00         push    0
00416E10   .  6A 00         push    0
00416E12   .  68 64884400   push    00448864                         ;  ASCII "Registration failed!"
00416E17   .  E8 E44E0200   call    0043BD00
00416E1C   .  5B            pop     ebx
00416E1D   .  5F            pop     edi
00416E1E   .  5E            pop     esi
00416E1F   .  5D            pop     ebp
00416E20   .  83C4 0C       add     esp, 0C
00416E23   .  C3            retn


------------------------------------------------------------------------
【破解总结】



提供一组可用注册码:
用户名:foresee
注册码:37815888
------------------------------------------------------------------------
【版权声明】本文系作者原创,首次发贴都在看雪论坛, 转载请注明作者并保持文章出处的完整, 谢谢!