【破解日期】 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
【软件简介】 锦航物业收费管理系统是一套物业公司对业主收取电费、水费、维修费、清洁卫生费、治
安管理费等各种物业收费项目进行全面管理的系统。
根据物业管理的要求,用户可以自行设定各种收费项目和计算公式,针对每个业主设定不同收费项目
及收费标准,可以复制上月的收费项目及数据到本月进行修改。该系统操作简单,功能齐全,对各项收费
项目进行分类统计与综合查询,能够打印出缴款单和各种报表,为物业收费管理提供了一个现代化的管理
手段,保持了各种数据的完整性、及时性和正确性,使企业完善了管理体系提高了管理水平。
【软件大小】 1805KB
【加壳方式】 没
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【破解内容】
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 冷血书生
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课