给你阳光 发表于 2008-9-16 16:04:24

康泉中医处方2.1破解及注册机制作

【文章标题】: 康泉中医处方2.1破解
【文章作者】: 给你阳光
【作者邮箱】: [email protected]
【作者QQ号】: 195018614
【软件名称】: 康泉中医处方2.1
【下载地址】: http://download.enet.com.cn/html/030282008090207.html
【加壳方式】: PECompact,AsPack,UPX
【保护方式】: 机器码+用户名+注册码
【编写语言】: Delphi
【使用工具】: OD1.1,Peid0.94,
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
【软件介绍】康泉中药处方大全是康泉工作室制作开发的中药处方软件,共收录了内科、外科、妇科、儿科、皮肤科、骨伤科、五官科、男科等不同科别的311种病例、1232种中药处方,2.1版在原1.0版的基础上增加了不同病例不同处方,修改操作界面,方便用户进行药方查询及显示、编辑、打印等操作,适合家庭用户及对西药过敏的不同年龄层次的用户,也适合于不同规模的中医诊所及中医学院学生进行研究学习
--------------------------------------------------------------------------------
【详细过程】
1.这个小软件加了三层壳:PECompact 2.5 Retail ASPack v2.12 UPX 0.89.6 - 1.02 脱壳过程就省略了……

2.脱壳成功后,OD载入;


0060DE88 >55            PUSH EBP; // 停留在这里
0060DE89    8BEC            MOV EBP,ESP
0060DE8B    83C4 F0         ADD ESP,-10
0060DE8E    53            PUSH EBX
0060DE8F    B8 60D66000   MOV EAX,un2_.0060D660
0060DE94    E8 F793DFFF   CALL un2_.00407290
0060DE99    8B1D 281A6100   MOV EBX,DWORD PTR DS:            ; un2_.00612C38
0060DE9F    8B03            MOV EAX,DWORD PTR DS:
0060DEA1    E8 7610E6FF   CALL un2_.0046EF1C
0060DEA6    8B0D EC1B6100   MOV ECX,DWORD PTR DS:            ; un2_.006133EC


3.查找ASCII 字符串 找到如下提示处:


超级字串参考, 项目 4454
地址=0060559B
反汇编=PUSH un2_.00605800
文本字串=用户名不能为空!


在地址=0060559B 上回车跟进,来到


00605594    6A 30         PUSH 30
00605596    68 F8576000   PUSH un2_.006057F8                     ; 提示
0060559B    68 00586000   PUSH un2_.00605800                     ; 用户名不能为空!
006055A0    8BC3            MOV EAX,EBX


我们往上找,来到


00605502    8BD8            MOV EBX,EAX; // F2 此处下断
00605504    33C0            XOR EAX,EAX
00605506    55            PUSH EBP
00605507    68 CE576000   PUSH un2_.006057CE
0060550C    64:FF30         PUSH DWORD PTR FS:
0060550F    64:8920         MOV DWORD PTR FS:,ESP
00605512    8D4D E8         LEA ECX,DWORD PTR SS:
00605515    A1 EC1B6100   MOV EAX,DWORD PTR DS:
0060551A    8B00            MOV EAX,DWORD PTR DS:
0060551C    8B80 78030000   MOV EAX,DWORD PTR DS:
00605522    BA E4576000   MOV EDX,un2_.006057E4               ; keysn
00605527    E8 5CFAEAFF   CALL un2_.004B4F88

……………………………………………………

00605751    EB 19         JMP SHORT un2_.0060576C
00605753    6A 10         PUSH 10
00605755    68 78586000   PUSH un2_.00605878                  ; 请重新输入
0060575A    68 84586000   PUSH un2_.00605884                  ; 注册码错误!(F2下断)


F9 运行,输入用户名和假码后中断在


00605502    8BD8            MOV EBX,EAX; // F2 此处下断
00605504    33C0            XOR EAX,EAX
00605506    55            PUSH EBP


F8 单步,注意观察寄存器和堆栈窗口的变化,可以很明确的看到如下代码


0060553D    E8 76FAFFFF   CALL un2_.00604FB8
00605542    8B45 FC         MOV EAX,DWORD PTR SS:      ; //得到真码
00605545    50            PUSH EAX                            ; //寄存器 EAX获得真码
00605546    8D55 E4         LEA EDX,DWORD PTR SS:       ; //堆栈出现真码
00605549    8B83 F8020000   MOV EAX,DWORD PTR DS:      ; //这里可能是注册机地址(结果证明不是)
0060554F    E8 8C88E4FF   CALL un2_.0044DDE0
00605554    8B55 E4         MOV EDX,DWORD PTR SS:       ; //获取假码
00605557    58            POP EAX                           ; //真假
00605558    E8 A7F9DFFF   CALL un2_.00404F04                  ; //比较真假码(注册机地址)


4.用KeyMake 制作注册机即可。


中断地址:605558
中断次数:1
第一字节:E8
指令长度:5

内存方式--寄存器--EAX


至此,破解及注册机制作完成.第一次写破文,还不熟悉,老鸟指教!
--------------------------------------------------------------------------------
【版权声明】: 本文原创于PYG论坛, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2008年09月16日 14:56:52

rxzcums 发表于 2008-9-16 16:32:25

支持了,期望楼主下篇文章/:good

给你阳光 发表于 2008-9-16 16:47:40

感谢支持!

my1229 发表于 2008-9-16 19:20:44

多谢楼主,学习破文中,谢谢!

ychl42 发表于 2008-9-17 21:22:46

谢谢楼主的分享,好好学习。

tianxj 发表于 2008-9-17 23:12:20

算法和用户名无关

西门官人 发表于 2008-9-18 15:29:23

看了楼主的分析,自己跟了一遍。发现这个软件还有暗桩。用得到的注册码注册后,没有注册成功的提示。重新启动软件后,提示软件过期。在605558后面还有一个条件跳转。不跳就没有注册成功的提示,跳则注册成功。
页: [1]
查看完整版本: 康泉中医处方2.1破解及注册机制作