分析破解数字五笔3.0
软件简介:这是一个五笔输入法,提供汉字的五笔输入。
软件下载:http://www.szwb.com
破解工具:TRW 2000
破解过程:
首先要注意的是,因为某些程序的特殊性,TRW并不能够直接载入这些程序然后再进行跟踪。但TRW并不是一定要载入程序才能够跟踪该程序。这个事例就是这样的。
(1)先运行TRW,然后运行数字五笔,提示注册是,填入注册码“12345678”(先随便填)。
(2)按下CTR+N回到TRW中。在命令行,
输入:bpx hmemcpy 回车 (用内存拷贝函数给它下断点。)
按下:CTR+N
(返回数字五笔3.0注册提示框,进行跟踪函数的调用)
(4)按下注册面版“OK”键。
在命令行,
输入:bd 回车
(禁止断点)
然后按F10单步从第一条执行起。(这里不能用pmodule命令直接跳到数字五笔3.0程序的领空,是因为开始时我们并不是直接载入数字五笔3.0,然后再进行跟踪的。)
(5)来到SZWB程序领空后,大家会看到一段如下的汇篇代码:
017F:014E6E0B 8D542428
LEA EDX,[ESP+28] (把你填入的注册码放到寄存器DX中)
017F:014E6E0F
52 PUSH EDX
(放入栈中)
017F:014E6E10 E8238A0000
CALL 014EF838
017F:014E6E15 8B0D08A74F01
MOV ECX,[014FA708] (把你的机器码放到放到寄存器CX中)
017F:014E6E1B
A30CA74F01 MOV [014FA70C],EAX
017F:014E6E20
351A968DE5 XOR EAX,E58D961A (把填入的注册码与常数A进行异或运算)
017F:014E6E25 81F1F4EDDCAE XOR ECX,AEDCEDF4
(把你的机器码与常数B进行异或运算)
017F:014E6E2B 83C404
ADD ESP,BYTE +04
017F:014E6E2E 3BC1
CMP EAX,ECX
(比较两个表达式的值,来做判断条件)
017F:014E6E30 0F85C4000000 JNZ
NEAR 014E6EFA (相同则不跳)
017F:014E6E36 6A00
PUSH BYTE +00
017F:014E6E38 68748E4F01
PUSH DWORD 014F8E74
017F:014E6E3D 68608E4F01
PUSH DWORD 014F8E60
017F:014E6E42 6A00
PUSH BYTE +00
到这里,大家因该知道注册码了吧!
我的机器码是:-1547960322;通过运算得到的注册码是:3907683344。
本人用VC写的注册机源代码如下:
#include <iostream.h>
void main()
{
unsigned long int a,b,c;
b=1263631342;
cout<<"请输入你的机器码! "<<endl;
cin>>a;
c=b^a;
cout<<"你的注册码是:"<<c<<endl;
cout<<"谢谢使用
!"<<'\n'<<endl;
}
菜鸟之作,让高手见笑了!
(这是作者第二次写破解文章,作者学破解时间也不长,不足处还望各位朋友给予指导和帮助,
在此,作者先先谢谢大家了!我的Emial:tianrongfeng@yahoo.com 我的QQ号码:32069691)
风尘(长沙)
2002年4月16日
- 标 题:分析破解数字五笔3.0 (2千字)
- 作 者:★★风尘★★
- 时 间:2002-4-17 11:04:19
- 链 接:http://bbs.pediy.com