飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2240|回复: 0

wuhanqi申请加入PYG破文之六

[复制链接]

该用户从未签到

发表于 2007-8-9 15:47:15 | 显示全部楼层 |阅读模式
【破文标题】exescope简单算法分析
【破文作者】wuhanqi[CR][ICY][48PG]
【作者邮箱】[email protected]
【作者主页】http://www.edisk.org/?wuhanqi
破解工具】peid od
【破解平台】XP2
【软件名称】exescope
【软件大小】……
【原版下载】自己搜索下载
【保护方式】Borland Delphi 6.0
【软件简介】一款资源编辑器
【破解声明】菜鸟一个,还需多多学习
------------------------------------------------------------------------
【破解过程】运行软件 找到字符串“无效的 id 或名字”
od载入 查找字符
004C2A90  |.  E8 4F1FF4FF   call    004049E4
004C2A95  |.  8D55 F8       lea     edx, dword ptr [ebp-8]
004C2A98  |.  8B83 FC020000 mov     eax, dword ptr [ebx+2FC]
004C2A9E  |.  E8 D9F8FAFF   call    0047237C
004C2AA3  |.  8B55 F8       mov     edx, dword ptr [ebp-8]
004C2AA6  |.  A1 4CFE4C00   mov     eax, dword ptr [4CFE4C]
004C2AAB  |.  E8 341FF4FF   call    004049E4
004C2AB0  |.  8B15 4CFE4C00 mov     edx, dword ptr [4CFE4C]          ;  eXeScope.004D2E58
004C2AB6  |.  8B12          mov     edx, dword ptr [edx]
004C2AB8  |.  A1 54FC4C00   mov     eax, dword ptr [4CFC54]
004C2ABD  |.  8B00          mov     eax, dword ptr [eax]
004C2ABF  |.  E8 B8940000   call    004CBF7C                         ;  关键CALL,跟进
004C2AC4  |.  84C0          test    al, al
004C2AC6  |.  0F84 8D000000 je      004C2B59
004C2ACC  |.  A1 E8FE4C00   mov     eax, dword ptr [4CFEE8]
004C2AD1  |.  8B00          mov     eax, dword ptr [eax]
004C2AD3  |.  E8 7821F4FF   call    00404C50
004C2AD8  |.  85C0          test    eax, eax
004C2ADA  |.  7E 7D         jle     short 004C2B59
004C2ADC  |.  8D55 F0       lea     edx, dword ptr [ebp-10]
004C2ADF  |.  A1 FCFE4C00   mov     eax, dword ptr [4CFEFC]
004C2AE4  |.  8B00          mov     eax, dword ptr [eax]
004C2AE6  |.  E8 11FCFCFF   call    004926FC
004C2AEB  |.  8B45 F0       mov     eax, dword ptr [ebp-10]
004C2AEE  |.  8D4D F4       lea     ecx, dword ptr [ebp-C]
004C2AF1  |.  BA B82B4C00   mov     edx, 004C2BB8                    ;  .ini
004C2AF6  |.  E8 2570F4FF   call    00409B20
004C2AFB  |.  8B4D F4       mov     ecx, dword ptr [ebp-C]
004C2AFE  |.  B2 01         mov     dl, 1
004C2B00  |.  A1 2CBE4300   mov     eax, dword ptr [43BE2C]
004C2B05  |.  E8 D293F7FF   call    0043BEDC
004C2B0A  |.  8BF0          mov     esi, eax
004C2B0C  |.  A1 E8FE4C00   mov     eax, dword ptr [4CFEE8]
004C2B11  |.  8B00          mov     eax, dword ptr [eax]
004C2B13  |.  50            push    eax
004C2B14  |.  B9 C82B4C00   mov     ecx, 004C2BC8                    ;  name
004C2B19  |.  BA D82B4C00   mov     edx, 004C2BD8                    ;  reg
004C2B1E  |.  8BC6          mov     eax, esi
004C2B20  |.  8B38          mov     edi, dword ptr [eax]
004C2B22  |.  FF57 04       call    dword ptr [edi+4]
004C2B25  |.  A1 4CFE4C00   mov     eax, dword ptr [4CFE4C]
004C2B2A  |.  8B00          mov     eax, dword ptr [eax]
004C2B2C  |.  50            push    eax
004C2B2D  |.  BA D82B4C00   mov     edx, 004C2BD8                    ;  reg
004C2B32  |.  B9 E42B4C00   mov     ecx, 004C2BE4                    ;  id
004C2B37  |.  8BC6          mov     eax, esi
004C2B39  |.  8B38          mov     edi, dword ptr [eax]
004C2B3B  |.  FF57 04       call    dword ptr [edi+4]
004C2B3E  |.  8BC6          mov     eax, esi
004C2B40  |.  E8 9B10F4FF   call    00403BE0
004C2B45  |.  A1 5CFC4C00   mov     eax, dword ptr [4CFC5C]
004C2B4A  |.  C600 01       mov     byte ptr [eax], 1
004C2B4D  |.  C783 4C020000>mov     dword ptr [ebx+24C], 1
004C2B57  |.  EB 20         jmp     short 004C2B79
004C2B59  |>  6A 00         push    0
004C2B5B  |.  8D55 EC       lea     edx, dword ptr [ebp-14]
004C2B5E  |.  B8 F02B4C00   mov     eax, 004C2BF0                    ;  无效的 id 或名字
004C2B63  |.  E8 680D0000   call    004C38D0
004C2B68  |.  8B45 EC       mov     eax, dword ptr [ebp-14]          ; |
004C2B6B  |.  66:8B0D 202C4>mov     cx, word ptr [4C2C20]            ; |
004C2B72  |.  B2 01         mov     dl, 1                            ; |
004C2B74  |.  E8 2F4BF7FF   call    004376A8                         ; \eXeScope.004376A8
004C2B79  |>  33C0          xor     eax, eax
004C2B7B  |.  5A            pop     edx
004C2B7C  |.  59            pop     ecx


跟进关键CALL
004CBF7C  /$  55            push    ebp
004CBF7D  |.  8BEC          mov     ebp, esp
004CBF7F  |.  51            push    ecx
004CBF80  |.  53            push    ebx
004CBF81  |.  8955 FC       mov     dword ptr [ebp-4], edx
004CBF84  |.  8B45 FC       mov     eax, dword ptr [ebp-4]
004CBF87  |.  E8 B48EF3FF   call    00404E40
004CBF8C  |.  33C0          xor     eax, eax
004CBF8E  |.  55            push    ebp
004CBF8F  |.  68 1BC04C00   push    004CC01B
004CBF94  |.  64:FF30       push    dword ptr fs:[eax]
004CBF97  |.  64:8920       mov     dword ptr fs:[eax], esp
004CBF9A  |.  33DB          xor     ebx, ebx
004CBF9C  |.  8B45 FC       mov     eax, dword ptr [ebp-4]
004CBF9F  |.  E8 AC8CF3FF   call    00404C50                         ;  计算假码位数
004CBFA4  |.  83F8 0A       cmp     eax, 0A                          ;  是否等于10
004CBFA7  |.  75 5C         jnz     short 004CC005                   ;  不等则跳
004CBFA9  |.  8B55 FC       mov     edx, dword ptr [ebp-4]
004CBFAC  |.  B8 30C04C00   mov     eax, 004CC030                    ;  ASCII "A1910"
004CBFB1  |.  E8 DE8FF3FF   call    00404F94                         ;  比较注册码前5位是否为 A1910
004CBFB6  |.  48            dec     eax
004CBFB7  |.  74 10         je      short 004CBFC9
004CBFB9  |.  8B55 FC       mov     edx, dword ptr [ebp-4]
004CBFBC  |.  B8 40C04C00   mov     eax, 004CC040                    ;  ASCII "A1423"
004CBFC1  |.  E8 CE8FF3FF   call    00404F94                         ;  比较注册码前5位是否为 A1423
004CBFC6  |.  48            dec     eax
004CBFC7  |.  75 3C         jnz     short 004CC005                  
004CBFC9  |>  B8 02000000   mov     eax, 2
004CBFCE  |>  8B55 FC       /mov     edx, dword ptr [ebp-4]
004CBFD1  |.  8A5402 FF     |mov     dl, byte ptr [edx+eax-1]
004CBFD5  |.  80FA 30       |cmp     dl, 30
004CBFD8  |.  72 2B         |jb      short 004CC005
004CBFDA  |.  80FA 39       |cmp     dl, 39
004CBFDD  |.  77 26         |ja      short 004CC005
004CBFDF  |.  40            |inc     eax
004CBFE0  |.  83F8 0B       |cmp     eax, 0B
004CBFE3  |.^ 75 E9         \jnz     short 004CBFCE                  ;  循环比较
004CBFE5  |.  8B45 FC       mov     eax, dword ptr [ebp-4]
004CBFE8  |.  0FB640 08     movzx   eax, byte ptr [eax+8]            ;  取注册码第9位ASSIC码值
004CBFEC  |.  8B55 FC       mov     edx, dword ptr [ebp-4]
004CBFEF  |.  0FB652 09     movzx   edx, byte ptr [edx+9]            ;  取注册码第10位ASSIC码值
004CBFF3  |.  03C2          add     eax, edx                         ;  eax=eax+edx
004CBFF5  |.  B9 0A000000   mov     ecx, 0A                          ;  0A(十进制10)到ecx
004CBFFA  |.  33D2          xor     edx, edx                         ;  清空edx
004CBFFC  |.  F7F1          div     ecx                              ;  eax/ecx
004CBFFE  |.  83FA 04       cmp     edx, 4                           ;  比较余数是否为4
004CC001  |.  75 02         jnz     short 004CC005
004CC003  |.  B3 01         mov     bl, 1
004CC005  |>  33C0          xor     eax, eax
004CC007  |.  5A            pop     edx
004CC008  |.  59            pop     ecx
004CC009  |.  59            pop     ecx
004CC00A  |.  64:8910       mov     dword ptr fs:[eax], edx
004CC00D  |.  68 22C04C00   push    004CC022
004CC012  |>  8D45 FC       lea     eax, dword ptr [ebp-4]
004CC015  |.  E8 7689F3FF   call    00404990
004CC01A  \.  C3            retn
004CC01B   .^ E9 5483F3FF   jmp     00404374
004CC020   .^ EB F0         jmp     short 004CC012
004CC022   .  8BC3          mov     eax, ebx
004CC024   .  5B            pop     ebx
004CC025   .  59            pop     ecx
004CC026   .  5D            pop     ebp
004CC027   .  C3            retn

------------------------------------------------------------------------
【破解总结】算法与用户名无关,必须10位,前五位是 "A1910" 或 "A1423" 注册码第9位ASSIC码值与注册码第10位ASSIC码值 相加,所得之和与10作除法运算 等于4就注册成功
------------------------------------------------------------------------
【版权声明】wuhanqi申请加入PYG破文之六
PYG19周年生日快乐!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

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