吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6389|回复: 6
收起左侧

[原创] Photo Slide Show图片合成器算法分析 ,非常适合新手

[复制链接]
东海浪子 发表于 2016-5-24 22:42
本帖最后由 东海浪子 于 2016-5-25 12:12 编辑

【破文标题】Photo Slide Show图片合成器算法分析
【破文作者】东海浪子
【作者邮箱】
【作者主页】
破解工具】OD
【破解平台】虚拟机WINXP SP3
【软件名称】Photo Slide Show
【软件大小】
【原版下载】http://www.321slideshow.com/
【软件说明】照片幻灯片可以 轻松创建幻灯片 更高的分辨率比DVD,将数码照片和视频过渡效果创建 惊人的幻灯片。
【阅读对象】爱好破解的初学者,新手作品,有错误不足之处,恳请各位高手大神多多指正。
【破解声明】本文仅做研究所用,供破解技术爱好者学习研究讨论。如喜欢该软件,建议购买正版。
------------------------------------------------------------------------
【破解过程】1.查壳,无壳Microsoft Visual C++ v7.0
            2.通过F12暂停堆栈法,或字符串查找法都很容易定位到注册call,来到下面这段(因为是算法分析,这里不详细展开这步骤。
[Asm] 纯文本查看 复制代码
0041E1C0   .  64:A1 0000000>mov eax,dword ptr fs:[0]                 ;  注册入口
0041E1C6   .  6A FF         push -0x1
0041E1C8   .  68 F8044500   push slidesho.004504F8
0041E1CD   .  50            push eax
0041E1CE   .  64:8925 00000>mov dword ptr fs:[0],esp
0041E1D5   .  83EC 18       sub esp,0x18
0041E1D8   .  55            push ebp
0041E1D9   .  56            push esi                                 ;  slidesho.00456B78
0041E1DA   .  57            push edi
0041E1DB   .  BD 01000000   mov ebp,0x1
0041E1E0   .  55            push ebp
0041E1E1   .  8BF1          mov esi,ecx
0041E1E3   .  E8 72F00100   call slidesho.0043D25A
0041E1E8   .  8B46 70       mov eax,dword ptr ds:[esi+0x70]          ;  注册名入eax
0041E1EB   .  8B78 F4       mov edi,dword ptr ds:[eax-0xC]           ;  注册名长度入edi
0041E1EE   .  83FF 02       cmp edi,0x2                              ;  注册名长度与2比较
0041E1F1   .  0F8D E0000000 jge slidesho.0041E2D7                    ;  长度大于等于2跳走
0041E1F7   .  E8 D82F0200   call slidesho.004411D4
0041E1FC   .  8B10          mov edx,dword ptr ds:[eax]
0041E1FE   .  8BC8          mov ecx,eax
0041E200   .  FF52 0C       call dword ptr ds:[edx+0xC]
0041E203   .  83C0 10       add eax,0x10
0041E206   .  894424 18     mov dword ptr ss:[esp+0x18],eax
0041E20A   .  6A 67         push 0x67
0041E20C   .  8D4424 20     lea eax,dword ptr ss:[esp+0x20]
0041E210   .  50            push eax
0041E211   .  B9 082F4900   mov ecx,slidesho.00492F08
0041E216   .  C74424 34 000>mov dword ptr ss:[esp+0x34],0x0
0041E21E   .  E8 DD1BFFFF   call slidesho.0040FE00
0041E223   .  50            push eax
0041E224   .  8D4C24 1C     lea ecx,dword ptr ss:[esp+0x1C]
0041E228   .  C64424 30 01  mov byte ptr ss:[esp+0x30],0x1
0041E22D   .  E8 9E66FEFF   call slidesho.004048D0
0041E232   .  8B4424 1C     mov eax,dword ptr ss:[esp+0x1C]
0041E236   .  83C0 F0       add eax,-0x10
0041E239   .  C64424 2C 00  mov byte ptr ss:[esp+0x2C],0x0
0041E23E   .  8D48 0C       lea ecx,dword ptr ds:[eax+0xC]
0041E241   .  83CA FF       or edx,-0x1
0041E244   .  f0:0fc111     lock xadd dword ptr ds:[ecx],edx
0041E248   .  4A            dec edx
0041E249   .  85D2          test edx,edx
0041E24B   .  7F 08         jg short slidesho.0041E255
0041E24D   .  8B08          mov ecx,dword ptr ds:[eax]
0041E24F   .  8B11          mov edx,dword ptr ds:[ecx]               ;  slidesho.00456BE0
0041E251   .  50            push eax
0041E252   .  FF52 04       call dword ptr ds:[edx+0x4]
0041E255   >  6A 69         push 0x69
0041E257   .  8D4424 20     lea eax,dword ptr ss:[esp+0x20]
0041E25B   .  50            push eax
0041E25C   .  B9 082F4900   mov ecx,slidesho.00492F08
0041E261   .  E8 9A1BFFFF   call slidesho.0040FE00
0041E266   .  8B00          mov eax,dword ptr ds:[eax]
0041E268   .  8B7C24 18     mov edi,dword ptr ss:[esp+0x18]
0041E26C   .  6A 00         push 0x0
0041E26E   .  50            push eax
0041E26F   .  57            push edi
0041E270   .  8BCE          mov ecx,esi                              ;  slidesho.00456B78
0041E272   .  C64424 38 02  mov byte ptr ss:[esp+0x38],0x2
0041E277   .  E8 80EF0100   call slidesho.0043D1FC
0041E27C   .  8B4424 1C     mov eax,dword ptr ss:[esp+0x1C]
0041E280   .  83C0 F0       add eax,-0x10
0041E283   .  C64424 2C 00  mov byte ptr ss:[esp+0x2C],0x0
0041E288   .  8D48 0C       lea ecx,dword ptr ds:[eax+0xC]
0041E28B   .  83CA FF       or edx,-0x1
0041E28E   .  f0:0fc111     lock xadd dword ptr ds:[ecx],edx
0041E292   .  4A            dec edx
0041E293   .  85D2          test edx,edx
0041E295   .  7F 08         jg short slidesho.0041E29F
0041E297   .  8B08          mov ecx,dword ptr ds:[eax]
0041E299   .  8B11          mov edx,dword ptr ds:[ecx]               ;  slidesho.00456BE0
0041E29B   .  50            push eax
0041E29C   .  FF52 04       call dword ptr ds:[edx+0x4]
0041E29F   >  8D47 F0       lea eax,dword ptr ds:[edi-0x10]
0041E2A2   .  C74424 2C FFF>mov dword ptr ss:[esp+0x2C],-0x1
0041E2AA   .  8D48 0C       lea ecx,dword ptr ds:[eax+0xC]
0041E2AD   .  83CA FF       or edx,-0x1
0041E2B0   .  f0:0fc111     lock xadd dword ptr ds:[ecx],edx
0041E2B4   .  4A            dec edx
0041E2B5   .  85D2          test edx,edx
0041E2B7   .  0F8F 2F040000 jg slidesho.0041E6EC
0041E2BD   .  8B08          mov ecx,dword ptr ds:[eax]
0041E2BF   .  8B11          mov edx,dword ptr ds:[ecx]               ;  slidesho.00456BE0
0041E2C1   .  50            push eax
0041E2C2   .  FF52 04       call dword ptr ds:[edx+0x4]
0041E2C5   .  5F            pop edi                                  ;  slidesho.004405B4
0041E2C6   .  5E            pop esi                                  ;  slidesho.004405B4
0041E2C7   .  5D            pop ebp                                  ;  slidesho.004405B4
0041E2C8   .  8B4C24 18     mov ecx,dword ptr ss:[esp+0x18]
0041E2CC   .  64:890D 00000>mov dword ptr fs:[0],ecx
0041E2D3   .  83C4 24       add esp,0x24
0041E2D6   .  C3            retn
0041E2D7   >  8B46 74       mov eax,dword ptr ds:[esi+0x74]          ;  注册码入eax
0041E2DA   .  8B40 F4       mov eax,dword ptr ds:[eax-0xC]           ;  注册码长度入eax
0041E2DD   .  83F8 08       cmp eax,0x8                              ;  注册码长度和8比较
0041E2E0   .  53            push ebx
0041E2E1   .  0F8D AF000000 jge slidesho.0041E396                    ;  长度大于等于8跳走
0041E2E7   .  E8 E82E0200   call slidesho.004411D4
0041E2EC   .  8B10          mov edx,dword ptr ds:[eax]
0041E2EE   .  8BC8          mov ecx,eax
0041E2F0   .  FF52 0C       call dword ptr ds:[edx+0xC]
0041E2F3   .  83C0 10       add eax,0x10
0041E2F6   .  894424 1C     mov dword ptr ss:[esp+0x1C],eax
0041E2FA   .  6A 68         push 0x68
0041E2FC   .  8D4424 24     lea eax,dword ptr ss:[esp+0x24]
0041E300   .  BB 03000000   mov ebx,0x3
0041E305   .  50            push eax
0041E306   .  B9 082F4900   mov ecx,slidesho.00492F08
0041E30B   .  895C24 38     mov dword ptr ss:[esp+0x38],ebx
0041E30F   .  E8 EC1AFFFF   call slidesho.0040FE00
0041E314   .  50            push eax
0041E315   .  8D4C24 20     lea ecx,dword ptr ss:[esp+0x20]
0041E319   .  C64424 34 04  mov byte ptr ss:[esp+0x34],0x4
0041E31E   .  E8 AD65FEFF   call slidesho.004048D0
0041E323   .  8B4424 20     mov eax,dword ptr ss:[esp+0x20]          ;  slidesho.0041E1C0
0041E327   .  83C0 F0       add eax,-0x10
0041E32A   .  885C24 30     mov byte ptr ss:[esp+0x30],bl
0041E32E   .  8D48 0C       lea ecx,dword ptr ds:[eax+0xC]
0041E331   .  83CA FF       or edx,-0x1
0041E334   .  f0:0fc111     lock xadd dword ptr ds:[ecx],edx
0041E338   .  4A            dec edx
0041E339   .  85D2          test edx,edx
0041E33B   .  7F 08         jg short slidesho.0041E345
0041E33D   .  8B08          mov ecx,dword ptr ds:[eax]
0041E33F   .  8B11          mov edx,dword ptr ds:[ecx]               ;  slidesho.00456BE0
0041E341   .  50            push eax
0041E342   .  FF52 04       call dword ptr ds:[edx+0x4]
0041E345   >  6A 69         push 0x69
0041E347   .  8D4424 24     lea eax,dword ptr ss:[esp+0x24]
0041E34B   .  50            push eax
0041E34C   .  B9 082F4900   mov ecx,slidesho.00492F08
0041E351   .  E8 AA1AFFFF   call slidesho.0040FE00
0041E356   .  8B00          mov eax,dword ptr ds:[eax]
0041E358   .  8B7C24 1C     mov edi,dword ptr ss:[esp+0x1C]
0041E35C   .  6A 00         push 0x0
0041E35E   .  50            push eax
0041E35F   .  57            push edi
0041E360   .  8BCE          mov ecx,esi                              ;  slidesho.00456B78
0041E362   .  C64424 3C 05  mov byte ptr ss:[esp+0x3C],0x5
0041E367   .  E8 90EE0100   call slidesho.0043D1FC
0041E36C   .  8B4424 20     mov eax,dword ptr ss:[esp+0x20]          ;  slidesho.0041E1C0
0041E370   .  83C0 F0       add eax,-0x10
0041E373   .  885C24 30     mov byte ptr ss:[esp+0x30],bl
0041E377   .  8D48 0C       lea ecx,dword ptr ds:[eax+0xC]
0041E37A   .  83CA FF       or edx,-0x1
0041E37D   .  f0:0fc111     lock xadd dword ptr ds:[ecx],edx
0041E381   .  4A            dec edx
0041E382   .  85D2          test edx,edx
0041E384   .  7F 08         jg short slidesho.0041E38E
0041E386   .  8B08          mov ecx,dword ptr ds:[eax]
0041E388   .  8B11          mov edx,dword ptr ds:[ecx]               ;  slidesho.00456BE0
0041E38A   .  50            push eax
0041E38B   .  FF52 04       call dword ptr ds:[edx+0x4]
0041E38E   >  8D47 F0       lea eax,dword ptr ds:[edi-0x10]
0041E391   .  E9 36030000   jmp slidesho.0041E6CC
0041E396   >  8B46 70       mov eax,dword ptr ds:[esi+0x70]          ;  注册名入eax
0041E399   .  8B48 F4       mov ecx,dword ptr ds:[eax-0xC]           ;  注册名长度入ecx
0041E39C   .  85C9          test ecx,ecx
0041E39E   .  7D 0A         jge short slidesho.0041E3AA              ;  大于等于跳走
0041E3A0   .  68 57000780   push 0x80070057
0041E3A5   .  E8 462FFEFF   call slidesho.004012F0
0041E3AA   >  8A10          mov dl,byte ptr ds:[eax]                 ;  取注册名第1个字节ASCII码入dl
0041E3AC   .  8B46 70       mov eax,dword ptr ds:[esi+0x70]          ;  注册名入eax
0041E3AF   .  3968 F4       cmp dword ptr ds:[eax-0xC],ebp           ;  字节长度和ebp(1)比较
0041E3B2   .  7D 0A         jge short slidesho.0041E3BE
0041E3B4   .  68 57000780   push 0x80070057
0041E3B9   .  E8 322FFEFF   call slidesho.004012F0
0041E3BE   >  8A40 01       mov al,byte ptr ds:[eax+0x1]             ;  取注册名第2个字节入al
0041E3C1   .  884424 11     mov byte ptr ss:[esp+0x11],al            ;  al入esp+11
0041E3C5   .  8B46 70       mov eax,dword ptr ds:[esi+0x70]          ;  注册名入eax
0041E3C8   .  8B48 F4       mov ecx,dword ptr ds:[eax-0xC]           ;  注册名字节长度入ecx
0041E3CB   .  85C9          test ecx,ecx
0041E3CD   .  7D 0A         jge short slidesho.0041E3D9
0041E3CF   .  68 57000780   push 0x80070057
0041E3D4   .  E8 172FFEFF   call slidesho.004012F0
0041E3D9   >  8B4E 70       mov ecx,dword ptr ds:[esi+0x70]          ;  注册名入ecx
0041E3DC   .  8A18          mov bl,byte ptr ds:[eax]                 ;  注册名第1个字节ascii码入bl
0041E3DE   .  3969 F4       cmp dword ptr ds:[ecx-0xC],ebp           ;  注册名字节长度和ebp比较
0041E3E1   .  7D 0A         jge short slidesho.0041E3ED              ;  大于等于时跳走
0041E3E3   .  68 57000780   push 0x80070057
0041E3E8   .  E8 032FFEFF   call slidesho.004012F0
0041E3ED   >  0FB6C2        movzx eax,dl                             ;  注册名第1个字节入eax
0041E3F0   .  83C8 50       or eax,0x50                              ;  和50进行or运算,结果入eax
0041E3F3   .  99            cdq
0041E3F4   .  BD 0A000000   mov ebp,0xA                              ;  A入ebp
0041E3F9   .  F7FD          idiv ebp                                 ;  除以ebp(A)
0041E3FB   .  0FB64424 11   movzx eax,byte ptr ss:[esp+0x11]         ;  注册名第2个字节ascii码入eax
0041E400   .  83C8 48       or eax,0x48                              ;  和48进行or运算,结果入eax
0041E403   .  885424 16     mov byte ptr ss:[esp+0x16],dl            ;  dl(6)入esp+16
0041E407   .  99            cdq
0041E408   .  F7FD          idiv ebp                                 ;  除以ebp(A)
0041E40A   .  0FB6C3        movzx eax,bl                             ;  取注册名第1字节ascii码入eax
0041E40D   .  83C8 4F       or eax,0x4F                              ;  和4F进行 or运算
0041E410   .  8BDD          mov ebx,ebp                              ;  ebp(A)入ebx
0041E412   .  885424 11     mov byte ptr ss:[esp+0x11],dl            ;  取dl(5)入esp+11
0041E416   .  99            cdq
0041E417   .  F7FB          idiv ebx                                 ;  除以ebx(A),结果放eax
0041E419   .  0FB641 01     movzx eax,byte ptr ds:[ecx+0x1]          ;  取注册名第2个字节ascii码入eax
0041E41D   .  83C8 54       or eax,0x54                              ;  和54进行or运算
0041E420   .  8BCD          mov ecx,ebp                              ;  ebp(A)入ecx
0041E422   .  885424 17     mov byte ptr ss:[esp+0x17],dl            ;  取dl(5)入esp+17
0041E426   .  99            cdq
0041E427   .  F7F9          idiv ecx                                 ;  除以ecx(A),结果入eax
0041E429   .  33C0          xor eax,eax                              ;  eax清零
0041E42B   .  33C9          xor ecx,ecx                              ;  ecx清零
0041E42D   .  85FF          test edi,edi
0041E42F   .  885424 18     mov byte ptr ss:[esp+0x18],dl            ;  dl(5)入esp+18
0041E433   .  7E 1F         jle short slidesho.0041E454              ;  小于等于时跳走
0041E435   >  85C9          test ecx,ecx
0041E437   .  0F8C E6000000 jl slidesho.0041E523                     ;  小于时跳走
0041E43D   .  8B56 70       mov edx,dword ptr ds:[esi+0x70]          ;  注册名入edx
0041E440   .  3B4A F4       cmp ecx,dword ptr ds:[edx-0xC]           ;  注册名字节长度入ecx
0041E443   .  0F8F DA000000 jg slidesho.0041E523                     ;  大于时跳走
0041E449   .  0FB6140A      movzx edx,byte ptr ds:[edx+ecx]          ;  逐个取注册名ascii入edx
0041E44D   .  03C2          add eax,edx                              ;  注册名字符串ascii码累加
0041E44F   .  41            inc ecx                                  ;  计数累加器
0041E450   .  3BCF          cmp ecx,edi                              ;  和注册名字节长度比较
0041E452   .^ 7C E1         jl short slidesho.0041E435               ;  小于时往上跳
0041E454   >  99            cdq
0041E455   .  B9 0A000000   mov ecx,0xA                              ;  A入ecx
0041E45A   .  F7F9          idiv ecx                                 ;  除以ecx(A),结果入eax
0041E45C > .  8B46 74       mov eax,dword ptr ds:[esi+0x74]          ;  注册码入eax
0041E45F   .  8B48 F4       mov ecx,dword ptr ds:[eax-0xC]           ;  注册码长度入ecx
0041E462   .  85C9          test ecx,ecx
0041E464   .  885424 19     mov byte ptr ss:[esp+0x19],dl            ;  dl(3)入esp+19
0041E468   .  7D 0A         jge short slidesho.0041E474              ;  大于等于时跳走
0041E46A   .  68 57000780   push 0x80070057
0041E46F   .  E8 7C2EFEFF   call slidesho.004012F0
0041E474   >  8A10          mov dl,byte ptr ds:[eax]                 ;  注册码第1个数ascii码入dl
0041E476   .  8B4E 74       mov ecx,dword ptr ds:[esi+0x74]          ;  注册码入ecx
0041E479   .  8379 F4 01    cmp dword ptr ds:[ecx-0xC],0x1           ;  注册码位数和1比较
0041E47D   .  885424 1A     mov byte ptr ss:[esp+0x1A],dl            ;  注册码第1个数ascii码入esp+1A
0041E481   .  7D 0A         jge short slidesho.0041E48D              ;  大于等于时跳走
0041E483   .  68 57000780   push 0x80070057
0041E488   .  E8 632EFEFF   call slidesho.004012F0
0041E48D   >  8A41 01       mov al,byte ptr ds:[ecx+0x1]             ;  注册码第2个数入al
0041E490   .  8B4E 74       mov ecx,dword ptr ds:[esi+0x74]          ;  注册码入ecx
0041E493   .  884424 12     mov byte ptr ss:[esp+0x12],al            ;  注册码第2个数ASCII码入esp+12
0041E497   .  8379 F4 02    cmp dword ptr ds:[ecx-0xC],0x2           ;  注册码位数和2比较
0041E49B   .  7D 0A         jge short slidesho.0041E4A7              ;  大于等于时跳走
0041E49D   .  68 57000780   push 0x80070057
0041E4A2   .  E8 492EFEFF   call slidesho.004012F0
0041E4A7   >  8A49 02       mov cl,byte ptr ds:[ecx+0x2]             ;  注册码第3个数ascii码入cl
0041E4AA   .  884C24 13     mov byte ptr ss:[esp+0x13],cl            ;  注册码第3个数入esp+13
0041E4AE   .  8B4E 74       mov ecx,dword ptr ds:[esi+0x74]          ;  注册码入ecx
0041E4B1   .  8379 F4 03    cmp dword ptr ds:[ecx-0xC],0x3           ;  注册码位数和3比较
0041E4B5   .  7D 0A         jge short slidesho.0041E4C1              ;  大于等于时跳走
0041E4B7   .  68 57000780   push 0x80070057
0041E4BC   .  E8 2F2EFEFF   call slidesho.004012F0
0041E4C1   >  8A41 03       mov al,byte ptr ds:[ecx+0x3]             ;  注册码第4位入al
0041E4C4   .  8B4E 74       mov ecx,dword ptr ds:[esi+0x74]          ;  注册码入ecx
0041E4C7   .  884424 14     mov byte ptr ss:[esp+0x14],al            ;  注册码第4位入esp+14
0041E4CB   .  8379 F4 04    cmp dword ptr ds:[ecx-0xC],0x4           ;  注册码位数和4比较
0041E4CF   .  7D 0A         jge short slidesho.0041E4DB              ;  大于等于时跳走
0041E4D1   .  68 57000780   push 0x80070057
0041E4D6   .  E8 152EFEFF   call slidesho.004012F0
0041E4DB   >  8A49 04       mov cl,byte ptr ds:[ecx+0x4]             ;  注册码第5位入cl
0041E4DE   .  884C24 15     mov byte ptr ss:[esp+0x15],cl            ;  注册码第5位入esp+15
0041E4E2   .  8B4E 74       mov ecx,dword ptr ds:[esi+0x74]          ;  注册码入ecx
0041E4E5   .  8379 F4 05    cmp dword ptr ds:[ecx-0xC],0x5           ;  注册码位数和5比较
0041E4E9   .  7D 0A         jge short slidesho.0041E4F5              ;  大于等于时跳走
0041E4EB   .  68 57000780   push 0x80070057
0041E4F0   .  E8 FB2DFEFF   call slidesho.004012F0
0041E4F5   >  8A41 05       mov al,byte ptr ds:[ecx+0x5]             ;  注册码第6位入al
0041E4F8   .  8B4E 74       mov ecx,dword ptr ds:[esi+0x74]          ;  注册码入ecx
0041E4FB   .  8B79 F4       mov edi,dword ptr ds:[ecx-0xC]           ;  注册码位数入edi
0041E4FE   .  83FF 06       cmp edi,0x6                              ;  注册码位数和6比较
0041E501   .  884424 1B     mov byte ptr ss:[esp+0x1B],al            ;  注册码第6位入esp+1B
0041E505   .  7D 0A         jge short slidesho.0041E511              ;  大于等于时跳走
0041E507   .  68 57000780   push 0x80070057
0041E50C   .  E8 DF2DFEFF   call slidesho.004012F0
0041E511   >  8B7E 74       mov edi,dword ptr ds:[esi+0x74]          ;  注册码入edi
0041E514   .  8B6F F4       mov ebp,dword ptr ds:[edi-0xC]           ;  注册码位数入ebp
0041E517   .  8A41 06       mov al,byte ptr ds:[ecx+0x6]             ;  注册码第7位入al
0041E51A   .  BB 07000000   mov ebx,0x7                              ;  7入ebx
0041E51F   .  3BEB          cmp ebp,ebx                              ;  比较ebp(注册码数位)和ebx(7)
0041E521   .  7D 0A         jge short slidesho.0041E52D              ;  大于等于时跳走
0041E523   >  68 57000780   push 0x80070057
0041E528   .  E8 C32DFEFF   call slidesho.004012F0
0041E52D   >  8A4F 07       mov cl,byte ptr ds:[edi+0x7]             ;  注册码第8位入cl
0041E530 > .  0FB66C24 16   movzx ebp,byte ptr ss:[esp+0x16]         ;  esp+16(6)入ebp
0041E535   .  0FB6FA        movzx edi,dl                             ;  注册码第1位ascii码入edi
0041E538   .  83EF 30       sub edi,0x30                             ;  edi-30(第1位注册码数字)
0041E53B   .  3BEF          cmp ebp,edi                              ;  ebp(6)和edi(第1位注册码数)比较
0041E53D      75 48         jnz short slidesho.0041E587              ;  不相等跳走
0041E53F   .  0FB65424 12   movzx edx,byte ptr ss:[esp+0x12]         ;  注册码第2位ascii码入edx
0041E544   .  0FB67C24 11   movzx edi,byte ptr ss:[esp+0x11]         ;  esp+11(5)入edi
0041E549   .  83EA 30       sub edx,0x30                             ;  edx-30(第2位注册码数字)
0041E54C   .  3BFA          cmp edi,edx                              ;  比较edi(5)和edx(第2位注册码数字)
0041E54E      75 33         jnz short slidesho.0041E583              ;  不相等跳走
0041E550   .  0FB65424 13   movzx edx,byte ptr ss:[esp+0x13]         ;  注册码第3位入edx
0041E555   .  0FB67C24 17   movzx edi,byte ptr ss:[esp+0x17]         ;  esp+17(5)入edi
0041E55A   .  83EA 30       sub edx,0x30                             ;  edx-30(第3位注册码数字)
0041E55D   .  3BFA          cmp edi,edx                              ;  比较edi(5)和edx(第3位注册码数字)
0041E55F      75 22         jnz short slidesho.0041E583              ;  不相等跳走
0041E561   .  0FB65424 14   movzx edx,byte ptr ss:[esp+0x14]         ;  第4位注册码ascii码入edx
0041E566   .  0FB67C24 18   movzx edi,byte ptr ss:[esp+0x18]         ;  esp+18(5)入edi
0041E56B   .  83EA 30       sub edx,0x30                             ;  edx-30(第4位注册码数字)
0041E56E   .  3BFA          cmp edi,edx                              ;  比较edi(5)和edx(第4位注册码数字)
0041E570      75 11         jnz short slidesho.0041E583              ;  不相等跳走
0041E572   .  0FB65424 15   movzx edx,byte ptr ss:[esp+0x15]         ;  第5位注册码入edx
0041E577   .  0FB67C24 19   movzx edi,byte ptr ss:[esp+0x19]         ;  esp+19(3)入edi
0041E57C   .  83EA 30       sub edx,0x30                             ;  edx-30(第5位注册码数字)
0041E57F   .  3BFA          cmp edi,edx                              ;  比较edi(3)和edx(第5位注册码数字)
0041E581      74 55         je short slidesho.0041E5D8               ;  不相等跳走
0041E583   >  8A5424 1A     mov dl,byte ptr ss:[esp+0x1A]            ;  注册码第1位ascii码入dl
0041E587   >  80FA 35       cmp dl,0x35                              ;  比较dl和35
0041E58A      0F85 D7000000 jnz slidesho.0041E667                    ;  不相等跳走
0041E590   .  807C24 12 31  cmp byte ptr ss:[esp+0x12],0x31          ;  比较注册码第2位ascii和31
0041E595      0F85 CC000000 jnz slidesho.0041E667
0041E59B   .  807C24 13 38  cmp byte ptr ss:[esp+0x13],0x38          ;  比较注册码第3位ascii码和38
0041E5A0      0F85 C1000000 jnz slidesho.0041E667
0041E5A6   .  807C24 14 39  cmp byte ptr ss:[esp+0x14],0x39          ;  比较注册码第4位ascii码和39
0041E5AB      0F85 B6000000 jnz slidesho.0041E667
0041E5B1   .  807C24 15 37  cmp byte ptr ss:[esp+0x15],0x37          ;  比较注册码第5位ascii码和37
0041E5B6      0F85 AB000000 jnz slidesho.0041E667
0041E5BC   .  807C24 1B 36  cmp byte ptr ss:[esp+0x1B],0x36          ;  比较注册码第6位ascii码和36
0041E5C1      0F85 A0000000 jnz slidesho.0041E667
0041E5C7   .  3C 31         cmp al,0x31                              ;  比较注册码第7位ascii码和31
0041E5C9      0F85 98000000 jnz slidesho.0041E667
0041E5CF   .  80F9 38       cmp cl,0x38                              ;  比较第8位注册码ascii码和38
0041E5D2      0F85 8F000000 jnz slidesho.0041E667
0041E5D8   >  6A 6A         push 0x6A
0041E5DA   .  8D4424 24     lea eax,dword ptr ss:[esp+0x24]          ;  esp+24入eax
0041E5DE   .  50            push eax
0041E5DF   .  B9 082F4900   mov ecx,slidesho.00492F08
0041E5E4   .  E8 1718FFFF   call slidesho.0040FE00
0041E5E9   .  8B00          mov eax,dword ptr ds:[eax]
0041E5EB   .  6A 00         push 0x0
0041E5ED   .  68 386D4500   push slidesho.00456D38                   ;  OK  注册成功
0041E5F2   .  50            push eax
0041E5F3   .  8BCE          mov ecx,esi                              ;  slidesho.00456B78
0041E5F5   .  C74424 3C 060>mov dword ptr ss:[esp+0x3C],0x6
0041E5FD   .  E8 FAEB0100   call slidesho.0043D1FC
0041E602   .  8D4C24 20     lea ecx,dword ptr ss:[esp+0x20]
0041E606   .  C74424 30 FFF>mov dword ptr ss:[esp+0x30],-0x1
0041E60E   .  E8 1D5DFEFF   call slidesho.00404330
0041E613   .  8B7E 70       mov edi,dword ptr ds:[esi+0x70]          ;  注册名入edi
0041E616   .  E8 4FCC0200   call slidesho.0044B26A
0041E61B   .  8B40 04       mov eax,dword ptr ds:[eax+0x4]
0041E61E   .  57            push edi
0041E61F   .  68 C0624500   push slidesho.004562C0                   ;  username
0041E624   .  68 F84B4500   push slidesho.00454BF8                   ;  Option
0041E629   .  8BC8          mov ecx,eax
0041E62B   .  E8 398B0200   call slidesho.00447169
0041E630   .  8B7E 74       mov edi,dword ptr ds:[esi+0x74]          ;  注册码入edi
0041E633   .  E8 32CC0200   call slidesho.0044B26A
0041E638   .  8B40 04       mov eax,dword ptr ds:[eax+0x4]
0041E63B   .  57            push edi
0041E63C   .  68 AC624500   push slidesho.004562AC                   ;  registration_code
0041E641   .  68 F84B4500   push slidesho.00454BF8                   ;  Option

【破解总结】
注册名大于等于2个字节,注册码大于等于8位数。注册名不参与注册码计算。
注册码有2种算法。
第1种是前5位数为65553,后面为XXX.
第2种是前8位为51897618,后面为xxxx.x为任意数。
这个软件算法比较简单,非常适合新手练习算法,就是费时较长,要有耐心。

图片合成器4.jpg
图片合成器6.jpg
图片合成器.jpg
图片合成器1.jpg
图片合成器3.jpg

免费评分

参与人数 1热心值 +1 收起 理由
Sound + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Danciny 发表于 2016-5-25 10:45
这个能做什么?
 楼主| 东海浪子 发表于 2016-5-25 12:14
aa89515 发表于 2016-6-8 20:15
 楼主| 东海浪子 发表于 2016-6-9 16:03
aa89515 发表于 2016-6-8 20:15
高手,帮我看看我的软件是什么算法?http://www.52pojie.cn/thread-503643-1-1.html

已经帮你了,只有爆破,没有用算法。自己去你帖子看吧
四物汤 发表于 2017-12-12 08:04
没用下载链接
coolshun0532 发表于 2018-6-3 16:07
好难。。。有直接破解好的嘛?感谢楼主~!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-17 00:59

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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