简单的好学友之幼教管理系统 2.2 Plus 注册算法
【破文标题】好学友之幼教管理系统 2.2 Plus 注册算法【破文作者】XXNB
【作者邮箱】
【作者主页】http://free.ys168.com/?binbinbin7456
【破解工具】OD
【破解平台】xpsp2
【软件名称】好学友之幼教管理系统 2.2 Plus
【软件大小】4727KB
【原版下载】http://gx.onlinedown.net/soft/3164.htm
【保护方式】
【软件简介】这是一套通用性很强的幼教管理信息系统,国内首创幼教考勤接送功能,操作方便快捷,最新版本新增教师考勤功能;完善幼儿接
送功能,更新幼儿接送硬件设备,支持串口、TCP、无线多种通讯方式,应用场合更方便灵活,其中无线通讯功能,实现幼儿园无线网络信息管
理。幼儿接送功能,配合硬件接送刷卡机,操作方便快捷,使幼儿接送更安全。收费功能模块提供了完备的幼教档案管理功能,使得人员增加
、调动、删除,幼教报表打印等异常的快捷方便。软件同时提供多种辅助工具及系统安全维护系统,用户还可以设定软件操作人员及操作权限
。软件还自带的幼教资源库让你了解先进的幼教管理理念,美观大方的界面也会使你尽情感受到工作的乐趣!新版本增加数据导出,数据导出
可以让库内数据轻松输出到各种格式,数据查询分析等功能,软件提供数据库异常用户解决方案,可以让你放心安全的使用。
【破解声明】向大侠们学习!!!只为学习!请尊重作者的劳动成功!
------------------------------------------------------------------------
【破解过程】
今天发现了个非常简单的。
首先,UPX壳。脱了它,结果发现有问题的。所以,干脆我就直接带壳了。用MessageBoxA断点可以断下。查看堆栈可以得到:
0012F140 008B15A3/CALL 到 MessageBoxA 来自 KMS.008B159E /////////我们直接Ctrl+G,到008B159E。然后就可以断下了
0012F144 000D050A|hOwner = 000D050A ('软件注册信息',class='TfrmRegist')
0012F148 008B1640|Text = ""B6,"?,B2,"",BB,"起?,AC,"您输入的",D7,"",A2,"",B2,"崧胗形螅",A1," "
0012F14C 008B1638|Title = "警",B8,"?
0012F150 00000030\Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL
0012F154 0012F49C指向下一个 SEH 记录的指针
0012F158 008B15BESE处理程序
0012F15C 0012F16C
0012F160 014C1210
0012F164 0148866CASCII "3JT28YY6" ;机器码,我的硬盘序列号
0012F168 014B4E04ASCII "hgghk44545" ;这个是我输入的假码
1、
008B14FC 55 push ebp
008B14FD 8BEC mov ebp, esp
008B14FF 6A 00 push 0
008B1501 6A 00 push 0
008B1503 53 push ebx
008B1504 8BD8 mov ebx, eax
008B1506 33C0 xor eax, eax
008B1508 55 push ebp
008B1509 68 BE158B00 push 008B15BE
008B150E 64:FF30 push dword ptr fs:
008B1511 64:8920 mov dword ptr fs:, esp
008B1514 8BC3 mov eax, ebx
008B1516 E8 4D010000 call 008B1668
008B151B 8D55 FC lea edx, dword ptr
008B151E 8B83 FC020000 mov eax, dword ptr
008B1524 E8 4F8EBAFF call 0045A378
008B1529 8B45 FC mov eax, dword ptr ; 取得假码
008B152C 50 push eax
008B152D 8D55 F8 lea edx, dword ptr
008B1530 8B83 F8020000 mov eax, dword ptr
008B1536 E8 3D8EBAFF call 0045A378
008B153B 8B45 F8 mov eax, dword ptr ; 取得机器码
008B153E 5A pop edx
008B153F E8 90F7FFFF call 008B0CD4 ; 算法call 进去
008B1544 84C0 test al, al ; 标志位
008B1546 74 42 je short 008B158A ; 关键跳
008B1548 E8 FBF7FFFF call 008B0D48
008B154D 33D2 xor edx, edx
008B154F 8B83 F0020000 mov eax, dword ptr
008B1555 8B08 mov ecx, dword ptr
008B1557 FF51 64 call dword ptr
008B155A 33D2 xor edx, edx
008B155C 8B83 FC020000 mov eax, dword ptr
008B1562 8B08 mov ecx, dword ptr
008B1564 FF51 64 call dword ptr
008B1567 BA D4158B00 mov edx, 008B15D4
008B156C 8B83 08030000 mov eax, dword ptr
008B1572 E8 318EBAFF call 0045A3A8
008B1577 A1 E0208E00 mov eax, dword ptr
008B157C 8B00 mov eax, dword ptr
008B157E BA 18168B00 mov edx, 008B1618
008B1583 E8 208EBAFF call 0045A3A8
008B1588 EB 19 jmp short 008B15A3
008B158A 6A 30 push 30
008B158C 68 38168B00 push 008B1638
008B1591 68 40168B00 push 008B1640
008B1596 8BC3 mov eax, ebx
008B1598 E8 FFF7BAFF call 00460D9C
008B159D 50 push eax ; 这里弹出错误信息框
008B159E E8 856BB5FF call 00408128 ; jmp 到 USER32.MessageBoxA ////返回到这个地方
008B15A3 33C0 xor eax, eax
008B15A5 5A pop edx
008B15A6 59 pop ecx
008B15A7 59 pop ecx
008B15A8 64:8910 mov dword ptr fs:, edx
008B15AB 68 C5158B00 push 008B15C5 ; ASCII "?
008B15B0 8D45 F8 lea eax, dword ptr
008B15B3 BA 02000000 mov edx, 2
008B15B8 E8 F332B5FF call 004048B0
008B15BD C3 retn
2、跟进call 008B0CD4:
008B0CD4 55 push ebp
008B0CD5 8BEC mov ebp, esp
008B0CD7 83C4 F4 add esp, -0C
008B0CDA 53 push ebx
008B0CDB 33C9 xor ecx, ecx
008B0CDD 894D F4 mov dword ptr , ecx
008B0CE0 8955 F8 mov dword ptr , edx ; 假码
008B0CE3 8945 FC mov dword ptr , eax ; 机器码
008B0CE6 8B45 FC mov eax, dword ptr
008B0CE9 E8 4E40B5FF call 00404D3C
008B0CEE 8B45 F8 mov eax, dword ptr
008B0CF1 E8 4640B5FF call 00404D3C
008B0CF6 33C0 xor eax, eax
008B0CF8 55 push ebp
008B0CF9 68 380D8B00 push 008B0D38
008B0CFE 64:FF30 push dword ptr fs:
008B0D01 64:8920 mov dword ptr fs:, esp
008B0D04 8D55 F4 lea edx, dword ptr
008B0D07 8B45 FC mov eax, dword ptr ; 机器码到eax。、准备运算
008B0D0A E8 9DFEFFFF call 008B0BAC ; 这个算法运算,跟进《《《《《《《--
008B0D0F 8B45 F4 mov eax, dword ptr ; 真码
008B0D12 8B55 F8 mov edx, dword ptr ; 假码
008B0D15 E8 7E3FB5FF call 00404C98 ; 跟进去是经典比较函数
008B0D1A 0F94C3 sete bl
008B0D1D 33C0 xor eax, eax
008B0D1F 5A pop edx
008B0D20 59 pop ecx
008B0D21 59 pop ecx
008B0D22 64:8910 mov dword ptr fs:, edx
008B0D25 68 3F0D8B00 push 008B0D3F
008B0D2A 8D45 F4 lea eax, dword ptr
008B0D2D BA 03000000 mov edx, 3
008B0D32 E8 793BB5FF call 004048B0
008B0D37 C3 retn
3、跟进call 008B0BAC:
008B0BAC 55 push ebp
008B0BAD 8BEC mov ebp, esp
008B0BAF 83C4 F8 add esp, -8
008B0BB2 53 push ebx
008B0BB3 33C9 xor ecx, ecx
008B0BB5 894D F8 mov dword ptr , ecx
008B0BB8 8BDA mov ebx, edx
008B0BBA 8945 FC mov dword ptr , eax
008B0BBD 8B45 FC mov eax, dword ptr
008B0BC0 E8 7741B5FF call 00404D3C
008B0BC5 33C0 xor eax, eax
008B0BC7 55 push ebp
008B0BC8 68 1A0C8B00 push 008B0C1A
008B0BCD 64:FF30 push dword ptr fs:
008B0BD0 64:8920 mov dword ptr fs:, esp
008B0BD3 8D45 F8 lea eax, dword ptr
008B0BD6 B9 300C8B00 mov ecx, 008B0C30 ; 固定字符串(ASCII "9220")
008B0BDB 8B55 FC mov edx, dword ptr ; 机器码
008B0BDE E8 BD3FB5FF call 00404BA0 ; 连接函数
008B0BE3 8B45 F8 mov eax, dword ptr ; 机器码连接9220后的字符串
008B0BE6 8BD3 mov edx, ebx
008B0BE8 E8 57C4FDFF call 0088D044 ; 这个进去。居然发现是MD5运算
008B0BED 53 push ebx
008B0BEE 8B03 mov eax, dword ptr ; 这里可以看到信息框里那串字符串的MD5值了
008B0BF0 B9 14000000 mov ecx, 14 ; 取14H(20)位
008B0BF5 BA 01000000 mov edx, 1 ; 从第一位开始取
008B0BFA E8 AD41B5FF call 00404DAC ; 取字符串函数
008B0BFF 33C0 xor eax, eax
008B0C01 5A pop edx
008B0C02 59 pop ecx
008B0C03 59 pop ecx
008B0C04 64:8910 mov dword ptr fs:, edx
008B0C07 68 210C8B00 push 008B0C21 ; (ASCII "?)
008B0C0C 8D45 F8 lea eax, dword ptr
008B0C0F BA 02000000 mov edx, 2
008B0C14 E8 973CB5FF call 004048B0
008B0C19 C3 retn
------------------------------------------------------------------------
【破解总结】
------------------------------------------------------------------------
简单的MD5加密算法。直接取得用户的机器码(硬盘序列号)和固定字符串“9220”连接,然后求连接字符串的MD5值。最后取前20位作为真正
的注册码。 学习,收藏!!支持!!!! 刚刚按楼主的思路分析了下 很有收获不过那个MD5要转化为大写字母才可以还有楼主如何看出是MD5计算了等待回答 谢谢先 原帖由 千里之外 于 2007-5-26 22:04 发表 https://www.chinapyg.com/images/common/back.gif
刚刚按楼主的思路分析了下 很有收获不过那个MD5要转化为大写字母才可以还有楼主如何看出是MD5计算了等待回答 谢谢先
有插件的:lol: 初学算法,还是有太多不明白的地方,郁闷ing 学习一下,下载中
页:
[1]