📄 chap7-4-10.htm.primary
字号:
<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">:0040443B 51 PUSH ECX</font>
</span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">:0040443C FF15E8104000 CALL [MSVBVM60!__vbaVarForNext]</font>
</span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">:00404442 EBAF JMP 004043F3 <--</font>
<font face="宋体" color="#000000">返回小循环</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">:00404444 8D95A4FEFFFF LEA EDX,[EBP-015C]</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">:00404455 51 PUSH ECX</font>
</span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">:00404456 FF15E8104000 CALL [MSVBVM60!__vbaVarForNext]</font>
</span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">:0040445C E930FFFFFF JMP 00404391 <--</font>
<font face="宋体" color="#000000">返回大循环</font> </span></p>
<p> </p>
<p> </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">....</font>
</span></p>
<p> </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">SmartCheck</font> <font face="宋体" color="#000000">的代码了。</font>
</span></p>
<p> </p>
<p> <span class="p9"><font face="宋体" color="#000000">参考上面的代码,你将注意我标上的两个循环,一个小的,一个大的。小的在大的里面。</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000">如果你在</font> <font face="Times New Roman" color="#000000">004043F5</font>
<font face="宋体" color="#000000">跳出小循环,你将进入大循环,而大循环再次将你带入小循环。因此解决办法是在</font>
<font face="Times New Roman" color="#000000">00404393</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">00404393</font>
<font face="宋体" color="#000000">处跳出大循环,就能用</font> <font face="Times New Roman" color="#000000">SmartCheck</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="宋体" color="#000000">改成:</font> <font face="Times New Roman" color="#000000"> 0F85C8000000 JNZ 00404461</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000">这样就不躲过这段循环了吧吗?</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"> </font>
<font face="宋体" color="#000000">,将</font> <font face="Times New Roman" color="#000000">0F84C8000000</font>
<font face="宋体" color="#000000">改成</font> <font face="Times New Roman" color="#000000">0F85C8000000</font>
<font face="宋体" color="#000000">。记得备份一下。</font> </span></p>
<p> </p>
<p> </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></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">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">"Sorry tyr again"</font>
<font face="宋体" color="#000000">,这时你的微机不会发疯了</font> <font face="Times New Roman" color="#000000">:-</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">Command1_Click </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">Len</font>
<font face="宋体" color="#000000">、</font> <font face="Times New Roman" color="#000000">Asc</font>
<font face="宋体" color="#000000">、</font> <font face="Times New Roman" color="#000000">Hex$ </font>
<font face="宋体" color="#000000">和</font> <font face="Times New Roman" color="#000000"> Mid$</font>
<font face="宋体" color="#000000">,这都是些处理你输入的序列号基本命令。</font> </span></p>
<p> </p>
<p> <span class="p9"><font face="宋体" color="#000000">我解释一下:</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">Len - </font>
<font face="宋体" color="#000000">得到字符串的长度</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">Asc - </font>
<font face="宋体" color="#000000">转换字符为</font> <font face="Times New Roman" color="#000000">ascii</font>
<font face="宋体" color="#000000">的十进制</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">Hex$ - </font>
<font face="宋体" color="#000000">转换字符为十六进制</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">Mid$ - STRING</font>
<font face="宋体" color="#000000">类型转换</font> <font face="Times New Roman" color="#000000">CHAT</font>
<font face="宋体" color="#000000">类型</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">UCase$ - </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">Command1_Click</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">...</font>
<font face="宋体" color="#000000">因此我们找些不同的,暂时,我们不用</font> <font face="Times New Roman" color="#000000">"Show All Events"</font>
<font face="宋体" color="#000000">此招。</font> </span></p>
<p> <span class="p9"><font face="宋体" color="#000000">在</font> <font face="Times New Roman" color="#000000">Command1_Click</font>
<font face="宋体" color="#000000">附近你会发现:</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">Len(String:"12121") returns LONG:5</font>
</span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">...</font> </span></p>
<p> </p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">Mid$(String:"12121",long:?,VARIANT:Integer:1)</font>
</span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">Mid$(String:"12121",long:?+1,VARIANT:Integer:1)</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000">哪处?长度由</font> <font face="Times New Roman" color="#000000">1</font>
<font face="宋体" color="#000000">到</font> <font face="Times New Roman" color="#000000">5</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">show all event</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">3</font>
<font face="宋体" color="#000000">次)</font> </span></p>
<p> </p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">Text1.Text</font>
</span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">Len(String:"12121") returns LONG:5</font>
</span></p>
<p> </p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">**</font> <font face="宋体" color="#000000">它的作用是取得你输入序列号的长度</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000">为什么会运行</font> <font face="Times New Roman" color="#000000">3</font>
<font face="宋体" color="#000000">次?不管那么多了。</font> </span></p>
<p> </p>
<p> <span class="p9"><font face="宋体" color="#000000">然后在那儿</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">Left(VARIANT:VT_DISPATCH:....., long:1)</font>
</span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">Asc(String:"1") returns Integer:49</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">1</font> <font face="宋体" color="#000000">个字符并转换成十进制。</font>
<font face="Times New Roman" color="#000000">"1"</font> <font face="宋体" color="#000000">字符的十进制是</font>
<font face="Times New Roman" color="#000000">49</font> <font face="宋体" color="#000000">。它会在</font>
<font face="Times New Roman" color="#000000">Command1_Click</font> <font face="宋体" color="#000000">里重复许多次,因此你很容易发现它。</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000">你会看到许多</font> <font face="Times New Roman" color="#000000">Hex$</font>
<font face="宋体" color="#000000">,其中从上到下,有一处结果为</font> <font face="Times New Roman" color="#000000">245</font>
<font face="宋体" color="#000000">(下面有</font> <font face="Times New Roman" color="#000000">5</font>
<font face="宋体" color="#000000">处的结果都为</font> <font face="Times New Roman" color="#000000">245,</font>
<font face="宋体" color="#000000">我们都要进去分析)。</font> </span></p>
<p> <span class="p9"><font face="宋体" color="#000000">具体这样:</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">Hex$(VARIANT:Long:245)</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000">嗯?</font> <font face="Times New Roman" color="#000000">245</font>
<font face="宋体" color="#000000">哪里来的??</font> </span></p>
<p> </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">"Show All Events"...</font>
</span></p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -