给你阳光 发表于 2008-9-27 15:09:20

佳宜人事工资管理软件 注册机 制作

【文章标题】: 佳宜人事工资管理软件 注册机 制作
【文章作者】: 给你阳光
【作者邮箱】: [email protected]
【作者QQ号】: 195018614
【软件名称】: 佳宜人事工资管理软件
【下载地址】: http://www.jyitsoft.com/download/HRMsalary.rar
【保护方式】: 注册码
【编写语言】: Delphi
【使用工具】: PEiD v0.94 | OD v1.1
【软件介绍】: 佳宜人事工资管理软件参考了各类工资管理管理软件精
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
1.PEiD 查壳发现无壳,运行一次尝试注册,发现有错误提示之类的信息;
OD载入程序,停留在下面代码

00699D60 > $55            PUSH EBP
00699D61   .8BEC          MOV EBP,ESP
00699D63   .83C4 F0       ADD ESP,-10
00699D66   .53            PUSH EBX
00699D67   .B8 30936900   MOV EAX,jyHRMman.00699330
00699D6C   .E8 3BD5D6FF   CALL jyHRMman.004072AC
00699D71   .8B1D 9C066A00 MOV EBX,DWORD PTR DS:       ;jyHRMman.006A3814
00699D77   .A1 94056A00   MOV EAX,DWORD PTR DS:
00699D7C   .8B00          MOV EAX,DWORD PTR DS:


2.查找ASCII 字符串来到如下代码处

超级字串参考, 项目 2753
   地址=0060C983
   反汇编=PUSH jyHRMman.0060CA90
   文本字串=系统注册失败,请检查注册是否有误!


在 地址=0060C983 上面双击鼠标左键来到数据窗口,来到如下代码处


0060C934   .E8 7F6AE6FF   CALL jyHRMman.004733B8
0060C939   .8BC3          MOV EAX,EBX
0060C93B   .E8 8C73DFFF   CALL jyHRMman.00403CCC
0060C940   .6A 00         PUSH 0
0060C942   .68 6CCA6000   PUSH jyHRMman.0060CA6C            ;系统注册成功,欢迎你使用本软件!// F2下断
0060C947   .E8 9C04FEFF   CALL <JMP.&PunUnitLib.ShowMess>
0060C94C   .A1 18086A00   MOV EAX,DWORD PTR DS:
0060C951   .C700 02000000 MOV DWORD PTR DS:,2
0060C957   .A1 94056A00   MOV EAX,DWORD PTR DS:
0060C95C   .8B00          MOV EAX,DWORD PTR DS:
0060C95E   .E8 0541E6FF   CALL jyHRMman.00470A68


我们继续网上看代码,分别在如下代码处下断



0060C78A   .33C0          XOR EAX,EAX
0060C78C   .55            PUSH EBP
0060C78D   .68 F2C96000   PUSH jyHRMman.0060C9F2            // F2 下断(为了准确定位信息)
0060C792   .64:FF30       PUSH DWORD PTR FS:
0060C795   .64:8920       MOV DWORD PTR FS:,ESP
0060C798   .8D55 F0       LEA EDX,DWORD PTR SS:
0060C79B   .8B45 FC       MOV EAX,DWORD PTR SS:
0060C79E   .8B80 04030000 MOV EAX,DWORD PTR DS:
0060C7A4   .E8 C326E4FF   CALL jyHRMman.0044EE6C



0060C813   .8B10          MOV EDX,DWORD PTR DS:
0060C815   .FF92 C0000000 CALL DWORD PTR DS:
0060C81B   .E9 6D010000   JMP jyHRMman.0060C98D
0060C820   >A1 1C086A00   MOV EAX,DWORD PTR DS:
0060C825   .8B00          MOV EAX,DWORD PTR DS:            // F2 下断
0060C827   .E8 C087DFFF   CALL jyHRMman.00404FEC            
0060C82C   .50            PUSH EAX


3.断点搞定后,我们 F9 运行,输入假码进行注册.程序会马上断下来,我们 F8 单步进行

请注意观察寄存器和堆栈信息提示.详细代码如下


0060C813   .8B10          MOV EDX,DWORD PTR DS:
0060C815   .FF92 C0000000 CALL DWORD PTR DS:
0060C81B   .E9 6D010000   JMP jyHRMman.0060C98D
0060C820   >A1 1C086A00   MOV EAX,DWORD PTR DS:
0060C825   .8B00          MOV EAX,DWORD PTR DS:          ;   // F2 下断(为了准确定位信息)
0060C827   .E8 C087DFFF   CALL jyHRMman.00404FEC            ;// EAX 出现可疑代码(注册码格式)
0060C82C   .50            PUSH EAX
0060C82D   .8D55 E4       LEA EDX,DWORD PTR SS:
0060C830   .8B45 FC       MOV EAX,DWORD PTR SS:
0060C833   .8B80 F4020000 MOV EAX,DWORD PTR DS:
0060C839   .E8 2E26E4FF   CALL jyHRMman.0044EE6C
0060C83E   .8B45 E4       MOV EAX,DWORD PTR SS:
0060C841   .E8 A687DFFF   CALL jyHRMman.00404FEC            ;// EAX 出现可疑代码
0060C846   .50            PUSH EAX
0060C847   .E8 CC05FEFF   CALL <JMP.&PunUnitLib.GetRegPass>   ;// 跟进
0060C84C   .8BD0          MOV EDX,EAX                         ;// 出现注册码
0060C84E   .8D45 F8       LEA EAX,DWORD PTR SS:      ;//EDX比较真码
0060C851   .E8 D684DFFF   CALL jyHRMman.00404D2C            ;// EDX 真码
0060C856   .8D55 DC       LEA EDX,DWORD PTR SS:
0060C859   .8B45 FC       MOV EAX,DWORD PTR SS:
0060C85C   .8B80 FC020000 MOV EAX,DWORD PTR DS:
0060C862   .E8 0526E4FF   CALL jyHRMman.0044EE6C
0060C867   .8B45 DC       MOV EAX,DWORD PTR SS:
0060C86A   .8D55 E0       LEA EDX,DWORD PTR SS:       ;// 取假码
0060C86D   .E8 2ACFDFFF   CALL jyHRMman.0040979C
0060C872   .8B45 E0       MOV EAX,DWORD PTR SS:
0060C875   .8B55 F8       MOV EDX,DWORD PTR SS:
0060C878   .E8 BB86DFFF   CALL jyHRMman.00404F38            ;// EDX 比较真假码 在此处做注册机
0060C87D   .0F85 FE000000 JNZ jyHRMman.0060C981               ;// 此处可以爆破
0060C883   .33C0          XOR EAX,EAX
0060C885   .55            PUSH EBP



4.注册机制作:

利用KeyMake 制作注册机


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

内存方式→寄存器→EDX→保存→生成



--------------------------------------------------------------------------------
【经验总结】
此类明码比较的软件破解相对来说比较容易找到突破口.该公司的其他软件也可以据此思路进行破解尝试.

--------------------------------------------------------------------------------
【版权声明】: 本文原创于飘云阁论坛, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2008年09月27日 14:48:35

dabtiger 发表于 2008-9-27 15:49:50

谢谢楼主哦,很清楚的,明码比较的相对简单些。

Nirvana_Crystal 发表于 2008-9-27 17:02:25

感谢楼主分享。非常详细。谢谢

孤影 发表于 2008-9-29 01:07:43

呵呵,调试过这公司的其他软件,没有加壳,而且算法都是一样的!!

xingbing 发表于 2008-10-12 16:42:56

这个软件再写内存注册机就没有什么意思了,写个带算法注册机教程。

talent126 发表于 2009-6-9 15:15:31

没有注册机??

geii 发表于 2009-6-14 00:23:33

注册机就是这么生产的我开悟了

cnywco 发表于 2009-6-14 22:41:35

原帖由 xingbing 于 2008-10-12 16:42 发表 https://www.chinapyg.com/images/common/back.gif
这个软件再写内存注册机就没有什么意思了,写个带算法注册机教程。



来个教程吧,,,

我也想学习学习算法教程

a2006 发表于 2009-12-12 19:50:53

算法,有点难,不是想学就会的。
页: [1]
查看完整版本: 佳宜人事工资管理软件 注册机 制作