📄 chap7-4-10.htm.primary
字号:
<html>
<head>
<title>Crack Tutorial</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="style/css.css" type="text/css">
<link rel="stylesheet" href="../STYLE/Css.css" type="text/css">
</head>
<body bgcolor="white" text="#000000" link="#004080" vlink="#004080" background="../image/Back.gif">
<p><a href="../catalog.htm">目录</a>>>第7章</p>
<p align="center" class="shadow1Copy"><b class="p3">第7章 Visual Basic程序</b></p>
<table width="80%" border="0" cellspacing="0" cellpadding="3" align="center" bgcolor="#bcbcbc" bordercolor="#111111" class="shadow1">
<tr>
<td class="shadow1" width="26%">
<div align="center"><a href="Chap7-1.htm"><font color="#FFFFFF">第一节 解释语言介绍</font></a></div>
</td>
<td class="shadow1" width="24%">
<div align="center"><a href="Chap7-2.htm"><font color="#FFFFFF">第二节 动态跟踪分析</font></a></div>
</td>
<td class="shadow1" width="24%">
<div align="center"><a href="Chap7-3.htm"><font color="#FFFFFF">第三节 SmartCheck操作</font></a></div>
</td>
<td class="shadow1" colspan="2" width="26%">
<div align="center"><a href="Chap7-4.htm"><font color="#FFFFFF">第四节 拆解习题</font></a></div>
</td>
</tr>
</table>
<p align="center"><span class="p9"><b>第四节 拆解习题</b></span><br>
</p>
<p align="left"><b>习题十</b> <a href="Exercise/chap7-10.zip">chap7-10</a> 难度高</p>
<p><font face="宋体" color="#000000"><span class="p9"><font color="#3333FF"><span class="p9"><font color="#000000">名称</font></span></font></span></font><font color="#000000">:<span class="p9"><span class="p9"><font face="Times New Roman">CrackMe v3.0a</font>
<br>
翻译:看雪(译于<font face="宋体" class="p8">2000/2/29</font>)</span></span> <span class="p9"><span class="p9"><br>
<font face="宋体">语言</font>:<font face="Times New Roman"> Visual Basic 6</font>
<br>
<font face="宋体">难度:高</font> <br>
<font face="宋体">工具</font>:<font face="Times New Roman">Softice</font>, <font face="Times New Roman">SmartCheck</font>
, <font face="宋体">十六进制编辑工具</font> <br>
</span>下载:<a href="crackme-vb-03.zip">CrackMe</a>(点击下载) <br>
<span class="p9"><font face="Times New Roman">crack</font> <font face="宋体">方法</font>:<font face="宋体">补丁</font>
<font face="Times New Roman">, SmartCheck</font> <font face="宋体">分析</font></span>
<br>
<span class="p9"><font face="宋体">关于这软件保护方法</font>:<font face="宋体">它是基于两段不同程序计算你输入的序列号,结果必须相等。</font>
<br>
<font face="宋体">目的:这教程主要对象是初学</font></span></span></font><span class="p9"><span class="p9"><font face="宋体" color="#000000">者,我把</font>
<font face="Times New Roman" color="#000000">crack</font> <font face="宋体" color="#000000">过程详细列出。我建议你们先看完这篇教学,然后自己独立一步步地练练</font>
<font face="Times New Roman" color="#000000">....</font> </span></span></p>
<p align="center"> </p>
<p align="center"> <font color="#000000"><b><span class="p9"><font face="Times New Roman"> </font>
<font face="宋体">用</font> <font face="Times New Roman">SmartCheck</font> <font face="宋体">运行该软件</font></span></b><span class="p9">
</span></font></p>
<p> </p>
<p> <span class="p9"><font face="宋体" color="#000000">我不再讲述如何配制</font> <font face="Times New Roman" color="#000000">SmartCheck</font>
<font face="宋体" color="#000000">了,如你不知,请参考本课第一节。在</font> <font face="Times New Roman" color="#000000">SmartCheck</font>
<font face="宋体" color="#000000">下运行这程序,键入任何序列号,我用的是</font> <font face="Times New Roman" color="#000000">12121</font>
<font face="宋体" color="#000000">,点击“</font> <font face="Times New Roman" color="#000000">Check it</font>
<font face="宋体" color="#000000">”。这时你将注意你的微机不停运转,不会是病毒吧?</font> <font face="Times New Roman" color="#000000">SmartCheck</font>
<font face="宋体" color="#000000">也不停运行</font> <font face="Times New Roman" color="#000000">....</font>
</span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">OK.</font> <font face="宋体" color="#000000">读读该</font>
<font face="Times New Roman" color="#000000">CrackMe</font> <font face="宋体" color="#000000">的</font>
<font face="Times New Roman" color="#000000">Readme.txt</font> <font face="宋体" color="#000000">。你将看到作者告诉你这</font>
<font face="Times New Roman" color="#000000">CrackMe</font> <font face="宋体" color="#000000">里有防</font>
<font face="Times New Roman" color="#000000">SmartCheck</font> <font face="宋体" color="#000000">的程序代码。哦,原来如此,还能防</font>
<font face="Times New Roman" color="#000000">SmartCheck...</font> <font face="宋体" color="#000000">,这时你的计算机正在疯狂运转</font>
<font face="Times New Roman" color="#000000">...</font> <font face="宋体" color="#000000">,你可用</font>
<font face="Times New Roman" color="#000000">CTRL</font> <font face="宋体" color="#000000">+</font>
<font face="Times New Roman" color="#000000">ALT+DEL,</font> <font face="宋体" color="#000000">只能同时按一下啊,不然就真的要重新启动了,此时在</font>
<font face="Times New Roman" color="#000000">CrackMe</font> <font face="宋体" color="#000000">这一行,选结束任务</font>
<font face="Times New Roman" color="#000000">....</font> </span></p>
<p> <span class="p9"><font face="宋体" color="#000000">最后你的计算机停下来了,你有可能看到一对话框</font>
<font face="Times New Roman" color="#000000">"You have SmartCheck loaded!...Close it and try again!!!"</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000">因此我们不能用</font> <font face="Times New Roman" color="#000000">SmartCheck</font>
<font face="宋体" color="#000000">了</font> <font face="Times New Roman" color="#000000">..</font>
<font face="宋体" color="#000000">不</font> <font face="Times New Roman" color="#000000">...</font>
<font face="宋体" color="#000000">,这也太伤自尊呢,我们会有办法。</font> <font face="Times New Roman" color="#000000">^-^</font>
</span></p>
<p> </p>
<p> </p>
<p align="center"> <font color="#000000"><b><span class="p9"><font face="Times New Roman"> Softice</font>
<font face="宋体">来助一臂之力</font> </span></b></font></p>
<p> </p>
<p> <span class="p9"><font face="宋体" color="#000000">这时我们让</font> <font face="Times New Roman" color="#000000">SmartCheck</font>
<font face="宋体" color="#000000">休息下,</font> <font face="Times New Roman" color="#000000">SOFTICE</font>
<font face="宋体" color="#000000">上场,我说过了这是</font> <font face="Times New Roman" color="#000000">VB6</font>
<font face="宋体" color="#000000">程序,因此你们需在</font> <font face="Times New Roman" color="#000000">Winice.dat</font>
<font face="宋体" color="#000000">中装载</font> <font face="Times New Roman" color="#000000">msvbvm60.dll</font>
<font face="宋体" color="#000000">。在</font> <font face="Times New Roman" color="#000000">SOFTICE</font>
<font face="宋体" color="#000000">下键入几个常用的</font> <font face="Times New Roman" color="#000000">VB</font>
<font face="宋体" color="#000000">断点函数,我首先就用</font> <font face="Times New Roman" color="#000000">"bpx msvbvm60!__vbastrcomp"</font>
<font face="宋体" color="#000000">试试。</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">**</font> <font face="宋体" color="#000000">注意:因为这是</font>
<font face="Times New Roman" color="#000000">VB6</font> <font face="宋体" color="#000000">运行库,所以要在函数前加</font>
<font face="Times New Roman" color="#000000">"msvbvm60!"</font> </span></p>
<p> <span class="p9"><font face="宋体" color="#000000">设好断点后,运行</font> <font face="Times New Roman" color="#000000">CrackMe</font>
<font face="宋体" color="#000000">(此时不在</font> <font face="Times New Roman" color="#000000">SmartCheck</font>
<font face="宋体" color="#000000">下运行了),键入任何序列号,点击</font> <font face="Times New Roman" color="#000000">"Check it"</font>
<font face="宋体" color="#000000">。你将被中断。</font> </span></p>
<p> <span class="p9"><font face="宋体" color="#000000">我们用</font> <font face="Times New Roman" color="#000000">SOFTICE</font>
<font face="宋体" color="#000000">目的是因为该</font> <font face="Times New Roman" color="#000000">CrackMe</font>
<font face="宋体" color="#000000">有一段程序检测</font> <font face="Times New Roman" color="#000000">SmartCheck</font>
<font face="宋体" color="#000000">存在,它的原理是根据这小段程序运行时间的长短来判断的有无</font> <font face="Times New Roman" color="#000000">SmartCheck</font>
<font face="宋体" color="#000000">存在的,如果你运行时间长,意味着</font> <font face="Times New Roman" color="#000000">SmartCheck</font>
<font face="宋体" color="#000000">存在。你们用</font> <font face="Times New Roman" color="#000000">SmartCheck</font>
<font face="宋体" color="#000000">装载任何一</font> <font face="Times New Roman" color="#000000">VB</font>
<font face="宋体" color="#000000">程序与正常运行时对比一下,就会发现运行时间相差明显。</font> </span></p>
<p> </p>
<p> <span class="p9"><font face="宋体" color="#000000">现在你在</font> <font face="Times New Roman" color="#000000">SOFTICE</font>
<font face="宋体" color="#000000">里,我们需到主程序代码里找一找哪里有防</font> <font face="Times New Roman" color="#000000">SmartCheck</font>
<font face="宋体" color="#000000">代码</font> <font face="Times New Roman" color="#000000">....</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000">按</font> <font face="Times New Roman" color="#000000">F10</font>
<font face="宋体" color="#000000">走出,一直到你看到</font> <font face="Times New Roman" color="#000000"> BJCM30A!..</font>
<font face="宋体" color="#000000">你会在</font> <font face="Times New Roman" color="#000000">00404401</font>
<font face="宋体" color="#000000">这一行。</font> </span></p>
<p> </p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">:00404391 3BC7 CMP EAX,EDI <--</font>
<font face="宋体" color="#000000">开始一个大循环</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">:00404393 0F84C8000000 JZ 00404461 <--</font>
<font face="宋体" color="#000000">跳出此大循环</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">:00404399 B801000000 MOV EAX,00000001</font>
</span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">..</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">.. __________</font>
<font face="宋体" color="#000000">剪断</font> <font face="Times New Roman" color="#000000">___________</font>
</span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">..</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">:004043E1 899DF8FEFFFF MOV [EBP-0108],EBX</font>
</span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">:004043E7 899DE8FEFFFF MOV [EBP-0118],EBX</font>
</span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">:004043ED FF1538104000 CALL [MSVBVM60!__vbaVarForInit]</font>
</span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">:004043F3 3BC7 CMP EAX,EDI <--</font>
<font face="宋体" color="#000000">开始一小循环</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">:004043F5 744D JZ 00404444 <--</font>
<font face="宋体" color="#000000">跳出此小循环</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">:004043F7 68342A4000 PUSH 00402A34</font>
</span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">:004043FC 68342A4000 PUSH 00402A34</font>
</span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">:00404401 FF1568104000 CALL [MSVBVM60!__vbaStrCmp] <--</font>
<font face="宋体" color="#000000">中断在此</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">:00404407 85C0 TEST EAX,EAX</font>
</span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">:00404409 751F JNZ 0040442A</font>
</span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">..</font> </span></p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -