【破解日期】 9月19日
【破解作者】 冷血书生[OCN][CZG][D.4s][PYG][PCG]
【作者邮箱】 colddoctor@126.com
【使用工具】 OD,PEID
【破解平台】 Win9x/NT/2000/XP
【软件名称】 锦航物业收费管理软件 1.0
【下载地址】 http://nj.onlinedown.net/soft/42454.htm
【加壳方式】 没
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【破解内容】


      
   PEID检测没壳,软件用Borland Delphi 6.0 - 7.0编写,OD载入,根据错误提示,来到下面

机器码:J64GTJ3HSH
试炼码:7878787878


  Quote: 
005EB4D2    55              push ebp                                     ; 下断
005EB4D3    68 25B65E00     push Main.005EB625
005EB4D8    64:FF30         push dword ptr fs:[eax]
005EB4DB    64:8920         mov dword ptr fs:[eax],esp
005EB4DE    8D45 F4         lea eax,dword ptr ss:[ebp-C]
005EB4E1    E8 F2F9FFFF     call Main.005EAED8
005EB4E6    8D45 EC         lea eax,dword ptr ss:[ebp-14]
005EB4E9    B9 3CB65E00     mov ecx,Main.005EB63C                        ; ASCII "wygl"
005EB4EE    8B55 F4         mov edx,dword ptr ss:[ebp-C]
005EB4F1    E8 EA95E1FF     call Main.00404AE0
005EB4F6    8B45 EC         mov eax,dword ptr ss:[ebp-14]                ; J64GTJ3HSHwygl
005EB4F9    8D55 F0         lea edx,dword ptr ss:[ebp-10]
005EB4FC    E8 AFFAFFFF     call Main.005EAFB0                           ;算法CALL,跟进
005EB501    8D55 E4         lea edx,dword ptr ss:[ebp-1C]
005EB504    8B45 FC         mov eax,dword ptr ss:[ebp-4]
005EB507    8B80 08030000   mov eax,dword ptr ds:[eax+308]
005EB50D    E8 5E58E6FF     call Main.00450D70
005EB512    8B45 E4         mov eax,dword ptr ss:[ebp-1C]
005EB515    8D55 E8         lea edx,dword ptr ss:[ebp-18]
005EB518    E8 8BDFE1FF     call Main.004094A8                           
005EB51D    8B45 E8         mov eax,dword ptr ss:[ebp-18]             ; 假码
005EB520    8B55 F0         mov edx,dword ptr ss:[ebp-10]             ; 真码
005EB523    E8 B096E1FF     call Main.00404BD8                           ; 真假码比较,可做内存注册机
005EB528    74 2E           je short Main.005EB558                         ; 相等就注册成功,爆破点

*******************************  跟进 call Main.005EAFB0 ***********************************


005EAFB0    55              push ebp                                     ;跟进来到这里
005EAFB1    8BEC            mov ebp,esp
005EAFB3    83C4 F4         add esp,-0C
005EAFB6    56              push esi
005EAFB7    33C9            xor ecx,ecx
005EAFB9    894D F4         mov dword ptr ss:[ebp-C],ecx
005EAFBC    8955 F8         mov dword ptr ss:[ebp-8],edx
005EAFBF    8945 FC         mov dword ptr ss:[ebp-4],eax
005EAFC2    8B45 FC         mov eax,dword ptr ss:[ebp-4]
005EAFC5    E8 B29CE1FF     call Main.00404C7C
005EAFCA    33C0            xor eax,eax
005EAFCC    55              push ebp
005EAFCD    68 C7B05E00     push Main.005EB0C7
005EAFD2    64:FF30         push dword ptr fs:[eax]
005EAFD5    64:8920         mov dword ptr fs:[eax],esp
005EAFD8    33F6            xor esi,esi
005EAFDA    8B45 FC         mov eax,dword ptr ss:[ebp-4]
005EAFDD    E8 B29AE1FF     call Main.00404A94
005EAFE2    8BD0            mov edx,eax
005EAFE4    85D2            test edx,edx
005EAFE6    7E 24           jle short Main.005EB00C
005EAFE8    B8 01000000     mov eax,1                                    ; 1送EAX
005EAFED    8B4D FC         mov ecx,dword ptr ss:[ebp-4]
005EAFF0    8A4C01 FF       mov cl,byte ptr ds:[ecx+eax-1]         ; 依次取机器码ASCII值并送CL
005EAFF4    80F1 57         xor cl,57                                        ; CL XOR 57
005EAFF7    81E1 FF000000   and ecx,0FF                                ; 值保存在ECX
005EAFFD    69C9 6C030000   imul ecx,ecx,36C                          ; ECX=ECX*36C
005EB003    0FAFC8          imul ecx,eax                                    ; ECX=ECX*EAX
005EB006    03F1            add esi,ecx                                       ; ESI=ESI+ECX,ESI初始为0
005EB008    40              inc eax                                              ; EAX加1
005EB009    4A              dec edx                                            ; 长度减1
005EB00A  ^ 75 E1           jnz short Main.005EAFED                    ; 循环
005EB00C    8D55 F4         lea edx,dword ptr ss:[ebp-C]
005EB00F    8BC6            mov eax,esi
005EB011    E8 06E9E1FF     call Main.0040991C
005EB016    8B45 F4         mov eax,dword ptr ss:[ebp-C]                 ; 3872796送EAX
005EB019    E8 769AE1FF     call Main.00404A94
005EB01E    83F8 07         cmp eax,7
005EB021    7F 0C           jg short Main.005EB02F
005EB023    74 3B           je short Main.005EB060
005EB025    83E8 05         sub eax,5
005EB028    74 12           je short Main.005EB03C
005EB02A    48              dec eax
005EB02B    74 21           je short Main.005EB04E
005EB02D    EB 62           jmp short Main.005EB091
005EB02F    83E8 08         sub eax,8
005EB032    74 3E           je short Main.005EB072
005EB034    48              dec eax
005EB035    83E8 5C         sub eax,5C
005EB038    72 4A           jb short Main.005EB084
005EB03A    EB 55           jmp short Main.005EB091
005EB03C    8D45 F4         lea eax,dword ptr ss:[ebp-C]
005EB03F    8B4D F4         mov ecx,dword ptr ss:[ebp-C]
005EB042    BA DCB05E00     mov edx,Main.005EB0DC                        ; ASCII "8761"
005EB047    E8 949AE1FF     call Main.00404AE0
005EB04C    EB 50           jmp short Main.005EB09E
005EB04E    8D45 F4         lea eax,dword ptr ss:[ebp-C]
005EB051    8B4D F4         mov ecx,dword ptr ss:[ebp-C]
005EB054    BA ECB05E00     mov edx,Main.005EB0EC                        ; ASCII "876"
005EB059    E8 829AE1FF     call Main.00404AE0
005EB05E    EB 3E           jmp short Main.005EB09E
005EB060    8D45 F4         lea eax,dword ptr ss:[ebp-C]
005EB063    8B4D F4         mov ecx,dword ptr ss:[ebp-C]
005EB066    BA F8B05E00     mov edx,Main.005EB0F8                        ; ASCII "87"
005EB06B    E8 709AE1FF     call Main.00404AE0
005EB070    EB 2C           jmp short Main.005EB09E
005EB072    8D45 F4         lea eax,dword ptr ss:[ebp-C]
005EB075    8B4D F4         mov ecx,dword ptr ss:[ebp-C]
005EB078    BA 04B15E00     mov edx,Main.005EB104
005EB07D    E8 5E9AE1FF     call Main.00404AE0
005EB082    EB 1A           jmp short Main.005EB09E
005EB084    8D45 F4         lea eax,dword ptr ss:[ebp-C]
005EB087    8B55 F4         mov edx,dword ptr ss:[ebp-C]
005EB08A    E8 E597E1FF     call Main.00404874
005EB08F    EB 0D           jmp short Main.005EB09E
005EB091    8D45 F4         lea eax,dword ptr ss:[ebp-C]
005EB094    BA 10B15E00     mov edx,Main.005EB110                        ; ASCII "333543469"
005EB099    E8 D697E1FF     call Main.00404874
005EB09E    8B45 F8         mov eax,dword ptr ss:[ebp-8]
005EB0A1    8B55 F4         mov edx,dword ptr ss:[ebp-C]                 ; 87与3872796连接,组成注册码
005EB0A4    E8 8797E1FF     call Main.00404830
005EB0A9    33C0            xor eax,eax
005EB0AB    5A              pop edx
005EB0AC    59              pop ecx
005EB0AD    59              pop ecx
005EB0AE    64:8910         mov dword ptr fs:[eax],edx
005EB0B1    68 CEB05E00     push Main.005EB0CE
005EB0B6    8D45 F4         lea eax,dword ptr ss:[ebp-C]
005EB0B9    E8 1E97E1FF     call Main.004047DC
005EB0BE    8D45 FC         lea eax,dword ptr ss:[ebp-4]
005EB0C1    E8 1697E1FF     call Main.004047DC
005EB0C6    C3              retn 
 


--------------------------------------------------------------------------------

--------------------------------------------------------------------------------


  Quote: 
【算法总结】

(1)机器码与wygl连接,组成新字符串,记为A.
(2)[(A的ASCII值 XOR 57)*36C]*(1.2..到A的长度)累加,最后转换为十进制.
(3)如果(2)值的长度为7位,则87与(2)连接,即为注册码;
   如果(2)值的长度大于7位,则减去8,则所得即为注册码;
   如果(2)值的长度小于7位,则减去5,长度相等的话,则8761与(2)值连接,即为注册码;
   如果(2)值的长度小于7位,则减去5,长度不相等的话,就再减去1,长度相等的话,876与(2)连接,则即为注册码;
   如果(2)值的长度小于7位,则减去5,长度不相等的话,就再减去1,长度不相等的话,333543469与(2)值连接,则即为注册码. 
 


--------------------------------------------------------------------------------
【内存注册机】


中断地址:5EB523
中断次数:1
第一字节:E8
指令长度:5
内存方式===》EDX===》指针1层
--------------------------------------------------------------------------------
【爆破地址】


005EB528    74 2E           je short Main.005EB558     ///  je =====>>> jne
--------------------------------------------------------------------------------
【破解总结】


   算法算是比较简单,如有不足之处,还请各位大侠指点!
--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢! 
                                                   
--------------------------------------------------------------------------------
                                                          2005.9.19  by 冷血书生