📄 第4集.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><html><head> <title>破解入门第四集</title> <meta content="text/html; charset=gb2312" http-equiv="Content-Type"></head><body bgcolor="#cc9966"><a name="home"></a><font face="宋体" size="+4" color="Black"><p align="center">破解入门第四集</font></p><p><table align="right"><tr style="font-size=9pt"> <td><a href="new1.htm">【第一集】</a></td> <td><a href="new2.htm">【第二集】</a></td> <td><a href="new3.htm">【第三集】</a></td> <td><a href="new4.htm"><font color="Gray">【第四集】</font></a></td> <td><a href="new5.htm">【第五集】</a></td> <td><a href="new6.htm">【第六集】</a></td></tr></table><br><br><font face="宋体"><font size="+2" color="#800000">KANJIWEB V3.0注册实例破解</font><br><div align="right">〖<a href="tool\kanjiweb.zip">下载KanJiWeb</a>〗</div><P>各位破解爱好者们,你们好.相信大家都盼这一集盼了很久吧?不错,真刀实枪上战场的时候到了,不要掉头跑开哦.<p>这次拿来开刀的程式是我比较喜欢用的内码识别及转换工具,它也是我的破解处女作.这个小程序功能很不错,不过不注册的话,只能用一个月左右.它每次安装都会产生一个随机数字,然后根据这个数字来算出注册码,所以每次安装的注册码都不会完全相同.<p>首先,请准备一本草稿纸及一支笔,然后就可以开始了.<p>将 KanJiWeb V3.0的主程式 MultiWord 程式打开,然后单击"X"形菜单,选择"Register..."菜单,出现一个对话框:<br>最下面写着: REGISTERED NO: 521608708 ,当然我们看到的数字肯定不一样,因为是随机的嘛!程式会根据这9个数字来重新算出9个字符的注册码来.<br>好,废话少说,单击 Register 按钮,在 Serial NO: 中填入: 79797979.<br>第一步: 填好以后,记住不要急着按OK按钮,因为我们先要进到 ICE 里面把中断设好,不然的话怎么拦它呀?按 CTRL-D组合键呼出 ICE 来. 在命令区内输入: BPX MESSAGEBOX .<br>第二步: 现在按 F5键返回原程式,按下刚才未按下的 OK 按钮.<br>第三步: 发生了什么事? 看到了吧,厉害的ICE马上拦到了,看看你现在在什么地方:<br><table border="0"><th colspan="3"></th><tr><font color="#ffff00">User !messagebox</font></tr><tr><td>从此处开始</td><td>按</td><td>F10键单步跟踪程式...</td></tr><tr><td>178F:0000</td><td width="22"> </td><td> POP EAX</td></tr><tr><td>178F:0002</td><td> </td><td> XOR EBX,EBX</td></tr><tr><td>178F:0005</td><td> </td><td> POP DX</td></tr><tr><td>178F:0006</td><td> </td><td> AND BX,BF7F</td></tr><tr><td>178F:000A</td><td> </td><td> PUSH EBX</td></tr><tr><td>178F:000C</td><td> </td><td> PUSH 00</td></tr><tr><td>178F:000E</td><td> </td><td> PUSH EAX</td></tr><tr><td>178F:0010</td><td></td><td> JMP 0013</td></tr><tr><td>178F:0013</td><td></td><td> PUSH BP</td></tr><tr><td>178F:0014</td><td></td><td> MOV BP,SP</td></tr><tr><td>178F:0016</td><td></td><td> PUSH 6B</td></tr><tr><td>178F:0019</td><td></td><td> MOV BX,[BP+14]</td></tr><tr><td>178F:001C</td><td></td><td> TEST BX,BX</td></tr><tr><td>178F:001E</td><td></td><td> JNZ 0025</td></tr><tr><td>178F:0020</td><td></td><td> XOR EAX,EAX</tr></tr><tr><td>178F:0023</td><td></td><td> JMP 0028</td></tr><tr><td>178F:0025</td><td></td><td> CALL 00A0</td></tr><tr><td>178F:0028</td><td></td><td> PUSH EAX</td></tr><tr><td>...(略)</td></tr><tr><td>178F:0043</td><td></td><td> CALL 0119</td></tr><tr><td>178F:0046</td><td></td><td> MOV AX,[BP+08]</td></tr><tr><td>178F:0049</td><td></td><td> MOV CX,[BP+0A]</td></tr><tr><td>178F:004C</td><td></td><td> TEST AX,0C08</td></tr><tr><td>178F:004F</td><td></td><td> JNZ 0057</td></tr><tr><td>178F:0051</td><td></td><td> TEST CX,FFFE</td></tr><tr><td>178F:0055</td><td></td><td> JZ 005D</td></tr><tr><td>178F:0057</td><td></td><td> MOV BX,F005</td></tr><tr><td>178F:005A</td><td></td><td> CALL 0105</td></tr><tr><td>178F:005D</td><td></td><td> PUSH CX</td></tr><tr><td>178F:005E</td><td></td><td> PUSH AX</td></tr><tr><td>178F:005F</td><td></td><td> PUSH WORD PTR[BP+06]</td></tr><tr><td>178F:0062</td><td></td><td> PUSH CS</td></tr><tr><td>178F:0063</td><td></td><td> CALL 1DE2</td></tr></table><br>当程式走到 178F:0063 CALL 1DE2 处时会出现注册码错误的信息框,我们重新注册一遍,当再次走到此地时按F8键进入观察: <br><table border="0"><th colspan="3"></th><tr><td>178F:1DE2 </td><td> </td><td>Enter 0024,00</td></tr><tr><td>178F:1DE6 </td><td> </td><td>PUSH ESI</td></tr><tr><td>178F:1DE8 </td><td> </td><td>PUSH DS</td></tr><tr><td>178F:1DE9 </td><td> </td><td>MOV AX,1087</td></tr><tr><td>178F:1DEC </td><td> </td><td>MOV DS,AX</td></tr><tr><td>178F:1DEE</td><td> </td><td>MOV ESI,[BP+14]</td></tr></table><p>当走到此处时,下命令: D BP+14 ,在记忆体区会看见一组数字: D0980200(4 BYTES),你的数字和我写的可能不一样,再次下命令如下格式: D 000298D0 ,在记忆体区右边栏里会看见一组9个字符,对了,这就是注册码了.赶快用笔抄下来,那么这个软件就破解完成了,是不是很简单啊?!<p>另外说明一下: 为什么 D0980200 在用 D 命令查看时会是 000298D0 呢?因为在汇编中寄存器的位置是高位在后,低位在前,所以变成 0200为第一个高字组,而排列时又为: 0002了,D098的排列一样,排到 0200 的后面,变成是: 98D0.嗯,是有点复杂,不过习惯了就好了.<p>也许又有人问: 为什么我会知道刚才那处是注册码露头的地方呢? 老实说,要靠判断及经验的积累,光靠一处处的死看是看不出来的,有个重要的概念给你们先提出来: 破解的时候,眼睛紧盯着很有问题的 CMP (比较命令)和 JNZ(跳转命令)之类的语句,另外,像EAX,EDX,ESI,EDI,在算注册码的CALL处都会发生变化,注意它们的变化对你的破解会很有帮助.当进入一个CALL时,你要注意EBP的变化,它是隐藏真正注册码和你输入的注册码的最后基地.<p><p><p><p><div align="center"> <a href="new3.htm"><img src="pre.gif" alt="上一篇" WIDTH="109" HEIGHT="32"></a> <a href="new5.htm"><img src="next.gif" alt="下一篇" WIDTH="108" HEIGHT="32"></a></div><P><font color=#6600ff>欢迎光临"破解交流网" http://coolfly.126.com<BR>E-mail: CoolFly@yeah.net</font></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -