一别两宽丶 发表于 2019-7-14 21:30

某打印软件,超详细追码及注册机编写

说明:
1,程序无壳,为Borland Delphi ( 2.0 - 7.0 )编写
2,注册失败,无任何提示。(对话框之类的)直接退出。
3,感觉应该不是重启验证。
4,此贴面向新手,本次主要熟练按钮事件的使用方法以告别“载入OD——》搜索字符串——》啥都搜不到,我爆破鸡脖——丢回收站”的窘况。此次以Borland Delphi 程序为例,后续会出VC++ 易语言之类的。
5,对于像我们这样的新手,内存注册机先玩玩,自己编写注册机牵扯面较广,无基础有点难。为了保持对逆向的兴趣,推荐先玩内存注册机。
正文:
查壳先

既然直接退出,肯定不会有关键的字符串。那就下按钮事件。各语言按钮事件不同,此按钮事件仅适用于Borland Delphi 语言编写的程序。

自动查找下断的代码如下图。(百度可以搜的到)



程序运行妥当后,在反汇编窗口右键——》运行脚本,选择需要的脚本即可,初次使用需要打开,然后选中。稍等,断点即可下断完毕。之所以全都妥当后再下断,是怕误伤别的按钮,麻烦。

然后,就是点击注册了。

程序成功被断下,接下来就是F7进call。然后一路F8,在F8的过程中注意观察寄存器窗口和堆栈窗口。


继续F8就会看到,真正的注册码了

既然找到了真码和关键call,那就顺手做个内存注册机吧。把关键call和寄存器窗口的内容都复制下来,备用。


爱盘下载内存注册机,然后填入相应的数据即可。见下图。

一切搞定,那就开始测试注册机能不能正常工作。



续集:只用特征码,如何寻找按钮事件






链接:http://www.xiaohuilang.com/一别两宽f_xzzx.asp删除文字即可



END

blsn3548 发表于 2019-7-14 23:49

0057CC60       mov         edx,dword ptr
0057CC64       mov         eax,dword ptr ;Tfm_Regeste.RegisterCode:TEdit
0057CC6A       call      TControl.SetText
0057CC6F       jmp         Tfm_Regeste.btRegClick
0057CC74       nop
0057CC75       nop
0057CC76       nop
0057CC77       nop
0057CC78       nop
0057CC79       nop
0057CC7A       nop
0057CC7B       nop

一别两宽丶 发表于 2019-7-15 22:25

wapjltb 发表于 2019-7-15 22:05
一步步按照楼主的教程做出了注册机,但是点击获取序列号时,却总是弹出选取目标文件的对话框,不知为什么?

没有放在软件同目录的原因,有个暗桩。放在同目录出现获取不倒注册码的问题

jori 发表于 2019-7-14 22:03

楼主这个月就发了好几个,有时间也模仿试试

beatone 发表于 2019-7-14 22:13

厉害了,

封神之剑 发表于 2019-7-14 22:25

支持一下

j542936 发表于 2019-7-14 22:51

感谢分享。已经试了 一次成功

超能小虎 发表于 2019-7-14 23:02

学习一下

wow999 发表于 2019-7-14 23:27

按照教程 一次性成功!!:victory:

QDHAM 发表于 2019-7-15 03:15

这个需要好好学习一下

xylqr 发表于 2019-7-15 05:05

感谢分享!
页: [1] 2 3 4 5 6 7
查看完整版本: 某打印软件,超详细追码及注册机编写