浅谈用“搜索大法”来索取内存注册码
====================
作者:《绝密档案》
主页:http://hongjian.126.com
破解工具:SOFIC4.5版本!
破解原理:
根据注册码的真假相近邻的特性,采取搜索假注册码来找真的注册码的方法!
由于部分程序的真假注册码验证方法如下:
call XXXXX ##### 调用子程序来验证真假注册码
CMP xxx,xxxx ###### 比较真假注册码
jn 跳或不跳 #### 真就怎么样,假就怎么样,跳或不跳
当你按F10键单步跟踪到此后,(一到出现出错信息为止-即或按F12直到出错为止),
这时,程序已经对你所输入的注册码进行了验证!并发出出错信息!
所以,此时内存中就存在真假两个注册码!此时,内存中就存在真假两个注册码!
所以你就可以使用搜索大法!!
具体步骤如下:以“邮件巡捕”为例子:
软件介绍:邮件搜索
特点:注册码符号其特!!令人费解!
用搜索“S7878”大法取“邮件巡捕 v1.62”注册码
====================
破解步骤:
一)运行TRW,导入“财会软件”,输入
用户名:绝密档案E-mail:http://hongjian.126.com
注册码:787878-78787878-78787878
二)^+D 返回SOF状态!
三)设置断点:bpx hmemcpy 后,按F5返回“邮件巡捕 ”,再按确定键!立即被TRW拦截成功
四)BD *临时中断!
五)按F12键 37次后,因第38次出错,且出错后并不能立即被SOF拦截,故需键F12共37次!
再按F10到这里:
0167:0041C731 POP ESI
0167:0041C732 RET
0167:0041C733 MOV EAX,ECX
0167:0041C735 PUSH BYTE +01
0167:0041C737 POP ECX
0167:0041C738 XOR EDX,EDX
0167:0041C73A MOV [EAX+04],ECX
0167:0041C73D MOV [EAX+08],EDX
0167:0041C740 MOV [EAX+0C],EDX
0167:0041C743 MOV [EAX+10],EDX
0167:0041C746 MOV [EAX+14],ECX
六)使用"7878"大法 即 S 30:0 LFFFFFFFF '78787878' 进行第一次搜索!
在“78787878”(共出现三次)的地方并没有注册码出现,正常!因为程序到目前为止,
还没有对真假两个注册码进行验证,所以,此时搜索只能找到假的,真的还没有出现!
(很多朋友说不能搜索,我想大概就是这个原因吧)
七)于是,使用F10键单步跟踪!!直至出错窗口!按确定后程序立即又被SOFTICE拦截,
这时你就可以使用搜索大法去搜索!
此时,使用搜索大法发现:
787878
787878
787878
emailspidereasy.exe
Y[MQ6(GAYTa[*)I{FkIP@+@ ###假的注册码
hongjian
>XUrGyXQhttp://hongjian.126.com
.hYLd$`Q>XUrGyXQ|T"9`C*V ####真的注册码
或者你也可以边查看CALL xxx ,cmp xxx,xxx jz xxx ,
边搜索,直到出现真的为止!
注意,记下出错当前系统的CALL XXXX ###这个CALL XXX 导致出错!
*****************
第二次跟踪:(一般情况下并需要)
注意,此时,程序不要退出,但是,你必须重新输入相关的注册信息,否则,
否则,以后你所搜索的东西还上一次的内容!只有当第一次不能搜索,才使用第二次,
主要是进入出错的CALLXXX 里面搜索!
(本例并不需要,大多数也不需要)
八)按确定后,BE * 恢复断点!再键F5键返回程序,再确定!又被拦截成功!
九)BD * 中断后,再按F12 37次,再次来到这里:
0167:0041C731 POP ESI
0167:0041C732 RET
0167:0041C733 MOV EAX,ECX
0167:0041C735 PUSH BYTE +01
0167:0041C737 POP ECX
0167:0041C738 XOR EDX,EDX
0167:0041C73A MOV [EAX+04],ECX
0167:0041C73D MOV [EAX+08],EDX
0167:0041C740 MOV [EAX+0C],EDX
0167:0041C743 MOV [EAX+10],EDX
0167:0041C746 MOV [EAX+14],ECX
十)再次使用搜索“S7878”大法,这时,在787878下面出现:邮件搜索的EXE文件名,
用户名,用户电子信箱...你注册时的信息!这时,
要注意:在用户EMAIL信息前头有一此信息,之前有一串奇怪的符号;
之后也有一些奇怪的符号,且包含电子信箱前面的信息,它就真的注册码,抄下吧!
如:
787878
787878
787878
emailspidereasy.exe
Y[MQ6(GAYTa[*)I{FkIP@+@ ###假的注册码
hongjian
>XUrGyXQhttp://hongjian.126.com
.hYLd$`Q>XUrGyXQ|T"9`C*V ####真的注册码
总结:
1)使用搜索“S7878”大法,使其程序第一次运行进行注册码验证,根据真假注册码相近邻的特性,
在第一次程序进行验证后,内存中就已经存在真假两个注册码了!当第二使用搜索S7878大法时,
在内存中便出现真的注册码了!
2)另,在填写注册码时,最好使用系统不常出现的字符作为注册码!方便准确搜索!
如:asasasasasa opopopopopo uiuiuiuiuiuiui 等!不要使用12345678或 11111111等,
因为这些字符在WIN系统中到处都是!它会影响你的搜索准确性!
本人用此办法破解了:神奇注册表、轻松试卷、万能五笔、DBTOOLS数据专家等
注意:
此方法,只适用于一些简单的注册码加密法!
=========================
这种方法也有其局限性:
1)真的注册码必须在内存中以文本形式出现,不能以十六进制形式出现!
2)VB程序此方法失效!
3)一些复杂的注册码验证法。如:逐个验证注册码此方法失效!
==========================
作者:《绝密档案》
主页:http://hongjian.126.com
欢迎各位大侠多多指导!
- 标 题:浅谈用“搜索大法”来索取内存注册码 (4千字)
- 作 者:qhj
- 时 间:2001-3-23 19:53:44
- 链 接:http://bbs.pediy.com