⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chap7-3.htm.primary

📁 加密与解密,软件加密保护技术与解决方案,看雪文档!
💻 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>第三节 SmartCheck操作技巧</b></span></p>
<p class="p9"><a href="#1">SmartCheck 介绍 </a><br>
  <a href="#2">配置 SmartCheck</a><br>
  <a href="#3">用SmartCheck如何运行所要crack程序 </a><br>
  <a href="#4">程序在SmartCheck下运行结束后你应看到时如下东西 </a><br>
  <a href="#5">SmartCheck 常见信息 </a></p>
<p><font face="Times New Roman" color="#000000"><span class="p9"><font color="#0000FF"><b><font color="#000000"><u><a name="1"></a>SmartCheck</u></font></b></font></span></font><u><font color="#000000"><b><span class="p9"><font face="宋体">介绍</font> 
  </span></b></font></u></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">SmartCheck</font> 
  <font face="宋体" color="#000000">是</font> <font face="Times New Roman" color="#000000">NuMega</font> 
  <font face="宋体" color="#000000">公司推出的一款出色的调试解释执行程序的工具,目前最新版是</font> <font face="Times New Roman" color="#000000">v6.03</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">W32Dasm</font> 
  <font face="宋体" color="#000000">调试程序,幸好</font> <font face="Times New Roman" color="#000000">SmartCheck</font> 
  <font face="宋体" color="#000000">出现大大地方便了我们。下面我就介绍SmartCheck的基本用法</font>。</span> 
  <br>
</p>
<p class="p9"><u><font color="#0000FF"><b><font color="#000000"><a name="2"></a>配置 
  SmartCheck</font></b></font></u></p>
<p class="p9">首先运行SmartCheck,装载一VB程序。在菜单选择:Program→Settings;出现图一:(如你在SmartCheck下没有打开应用程序,只出现三个菜单选项:<span class="p9">Error 
  Detection</span>;Rrporting;Program Info.)</p>
<p class="p9"><span class="p9">Error Detection(图一):选上所有的选项。 &quot;Report error 
  immediately&quot;,可根据情况调整,选上后程序执行有错误时会立即出现报告,此时在弹出的报告栏上按acknowledge即可,你嫌麻烦可不选此项.如此项没选,则不立即报告.建议不要选。</span></p>
<p class="p9"><img src="Image/setting1.jpg" width="466" height="370" hspace="125"></p>
<p class="p9" align="center">图一 </p>
<p> <span class="p9">点击在上图中Advanced后出现图二:</span> 
<p><span class="p9"><img src="Image/setting2.jpg" width="306" height="335" hspace="200"><br>
  <br>
  &nbsp;&nbsp;&nbsp;&nbsp; </span> 
<p class="p9" align="center">图二 
<p><span class="p9">Advanced(图二):选上前面的四项.确信"Suppress system API and OLE calls"没被选上.<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  <br>
  Reporting(图三):除了"Report MouseMove events from OCX controls"外其余全选上.</span> 
<p><img src="Image/setting3.jpg" width="466" height="370" hspace="125"> 
<p align="center" class="p9">图三 
<p><span class="p9"> </span> 
<p> 
<hr width="100%">
<p> <span class="p9"><b><font color="#000000"><u><a name="3"></a>用SmartCheck如何运行所要crack程序</u></font></b></span> 
<p><span class="p9"> 1) 首先运行;<br>
  2) 在"File", "Open",选择你需运行的程序; <br>
  3) 按F5或选择 "Program", "Start"运行程序;<br>
  4) 停止程序,选择"Program", "End";<br>
  你最好是了解SmartCheck的工具栏的用法,大大方便操作。 </span> 
<p> 
<hr width="100%">
<p> <span class="p9"><b><font color="#000000"><a name="4"></a><u>程序在SmartCheck下运行结束后你应看到时如下东西</u></font></b></span> 
<p><span class="p9"> 1) 在SmartCheck里你应有3个小窗口。我自己的有时会出现一个主窗口,怎么回事呢?原来其它两个(右边和下边)完全最小,缩到边上(右边、下边)去了,你可用鼠标把它们拖出来。<br>
  2) 主窗口被称为"Program Results window"。 这窗口在左上。<br>
  3) 右边的窗口主要是显示主窗口的一些详细内容,很多重要详细东西都在此,你有可能看到的序列号就在这里。</span> 
<p><span class="p9"> 在你停止程序后,你应该分析SmartCheck给出的信息,你必需选上相关的行,并选择"View", "Show All 
  Events"。你需要VB介绍这课相关知识了解各比较方法和断点函数。</span> 
<p> 
<hr width="100%">
<p> <span class="p9"><b><u><font size="+1" class="p9" color="#000000"><a name="5"></a>SmartCheck 
  常见信息</font></u></b></span> 
<p><span class="p9"> 我用<b>粗体</b><span class="p9">表示在SmartCheck中显示的内容。</span></span> 
<p> 
<hr width="25%">
<p> <span class="p9"><b>****.Text 如. Text1.Text</b> <br>
  如果你点击前面的“+”符号,你将看到其它的几行,寻找SysAllocStringLen。 <br>
  如.<b> SysAllocStringLen(PTR:00000000, DWORD:00000029) returns LPVOID:<font color="#FF0000">410584</font></b> 
  </span> 
<p> <span class="p9"><u>解释:</u> <br>
  </span><span class="p9">从文本框取出你键入字符并放置在内存00410584处。这意味着你可不用SOFTICE下的"s 30 l" 
  查找字符串命令。我们来验证一下:确信你的SOFTICE己运行,然后在SmartCheck下再次运行程序。当你在SmartCheck下的程序正在运行时,在适当机会用SOFTICE中断(CTRL+D),下命令"d 
  00410584"。如果你做的正确的话,你将在内存里看到你键入的字符。 如果你的程序没在SmartCheck下运行,你可能在此地址看不到,因为内存可能改变了。或内存“释放”。<br>
  </span> 
<p> 
<hr width="25%">
<p> <span class="p9"><b>__vbasrtcmp(String:"<font color="#FF0000">zzzzz</font>",String:"<font color="#FF0000">yyyyy</font>")returns 
  DWORD:<font color="#FF0000">0</font></b> </span> 
<p> <span class="p9"><u>解释:</u> <br>
  __vbastrcmp -- 用来比较字符串 如. "zzzzz" and "yyyyy" <br>
  <i>注意:你可能会看到正确序列号和你输入字符串比较。</i><br>
  returns DWORD:0 -- 在SOFTICE里,你将看到比较后, eax = 0 </span> 
<p> 
<hr width="25%">
<p> <span class="p9"><b>__vbafreestr(LPBSTR:0063F3F0)</b> <br>
  点击上面 "+" 寻找<b>SysFreeString</b> <br>
  如. <b>SysFreeString(BSTR:<font color="#FF0000">00410584</font>)</b> </span> 
<p> <span class="p9"><u>解释:</u> <br>
  字符串在内存00410584 被清除。</span> 
<p> 
<hr width="25%">
<p> <span class="p9"><b>__vbaVarCopy(VARIANT:String:"<font color="#FF0000">12345</font>", 
  VARIANT:Empty) returns DWORD:63FA30</b> <br>
  点击前面的 "+" 号寻找<b>SysAllocStringByteLen</b> <br>
  如. <b>SysAllocStringByteLen(LPSTR:004023F0, DWORD:0000000C) returns LPVOID:<font color="#FF0000">4103CC</font></b> 
  </span> 
<p> <span class="p9"><u>解释:</u> <br>
  "12345"被复制到内存 004103CC <br>
  <i>这类似 __vbaVarMove</i> </span> 
<p> 
<hr width="25%">
<p> <span class="p9"><b>__vbaVarForInit(VARIANT:Empty, PTR:0063F920, PTR:0063F91.....)</b> 
  </span> 
<p> <span class="p9"><u>解释:</u> <br>
  移动到上面,为了下一个循环<br>
  通常在它下面 <b>__vbaVarForNext</b> 用法与其一样. </span> 
<p> 
<hr width="25%">
<p> <span class="p9"><b>Mid(VARIANT:String:"<font color="#FF0000">abcdefg</font>", 
  long:<font color="#FF0000">1</font>, VARIANT:Integet:<font color="#FF0000">1</font>)</b> 
  </span> 
<p> <span class="p9"><u>解释:</u> <br>
  从位置1得到字符串"abcdefg"第一个字符。<br>
  点击上面的 "+"号寻找 <b>SysAllocStringByteLen</b> <br>
  如. <b>SysAllocStringByteLen(LPSTR:004103F0, DWORD:00000002) returns LPVOID:<font color="#FF0000">410434</font></b> 
  </span> 
<p> <span class="p9"><u>解释:</u> <br>
  "a"将被复制到内存00410434 <br>
  它后面通常跟随 <b>__vbaStrVarVal(VARIATN:String"a") returns DWORD:<font color="#FF0000">410434</font></b> 
  </span> 
<p> 
<hr width="25%">
<p> <span class="p9"><b>Asc(String:"<font color="#FF0000">T</font>") returns Integer:<font color="#FF0000">84</font></b> 
  </span> 
<p> <span class="p9"><u>解释:</u> <br>
  得到“T”的ASCII码十进制 84 </span> 
<p> 
<hr width="25%">
<p> <span class="p9"><b>SysFreeString(BSTR:<font color="#FF0000">004103F0</font>)</b> 
  </span> 
<p> <span class="p9"><u>解释:</u> <br>
  释放内存位置:004103F0<br>
  这些对我们特别有用,因为当你点击它们,看右边窗口,你将看到被释放的字符串。此时正确的序列号和密码有可能在此。</span> 
<p> 
<hr width="25%">
<p> <span class="p9"><b>__vbaVarCat(VARIANT:String:"<font color="#FF0000">aa</font>", 
  VARIANT:String:"<font color="#FF0000">bb</font>") returns DWORD:63F974</b> </span> 
<p> <span class="p9"><u>解释:</u> <br>
  连接 "bb" 和"aa"形成"aabb" </span> 
<p> 
<hr width="25%">
<p> <span class="p9"><b>__vbaFreeVar(VARIANT:String:"<font color="#FF0000">abcdefg</font>")</b> 
  <br>
  点击 "+"寻找<b>SysFreeString</b> <br>
  例. <b>SysFreeString(BSTR:<font color="#FF0000">0041035C</font>)</b> </span> 
<p> <span class="p9"><u>解释:</u> <br>
  从内存 0041035C释放 "abcdefg" <br>
  <i>这儿,点击这行在右边有可能发现你所要的东西。</i></span> 
<p> 
<hr width="25%">
<p> <span class="p9"><b>__vbaVarTstEq(VARIANT:****, VARIANT:****) returns DWORD:0</b> 
  </span> 
<p> <span class="p9"><u>解释:</u> <br>
  __vbaVarTstEq 通常用来比较变量.如果它们不一样 , DWORD=0 (so eax=0) <br>
  如果它们一样, DWORD将为FFFFFFFF (so eax=FFFFFFFF) <br>
  <i>类似__vbaVarCmpEq</i> </span> 
<p> 
<hr width="25%">
<p> <span class="p9"><b>Len(String:"Cracker") returns LONG:<font color="#FF0000">7</font></b> 
  </span> 
<p> <span class="p9"><u>解释:</u> <br>
  得到字符串 "Cracker" 的长度为7 </span> 
<p> 
<hr width="25%">
<p> <span class="p9"><b>****.Text &lt;-- "<font color="#FF0000">Wrong! Try Again!!</font>" 
  (String)</b> </span> 
<p> <span class="p9"><u>解释:</u> <br>
  在文本框中显示g "Wrong! Try Again!!"</span> 
<p> 
<hr width="25%">
<p> <span class="p9"><b>__vbaVarAdd(VARIANT:Integer:<font color="#FF0000">2</font>, 
  VARIANT:Integer:<font color="#FF0000">97</font>) returns .....</b> </span> 
<p> <span class="p9"><u>解释:</u> <br>
  2+97=97,返回99<br>
  But if both are Strings instead of Integers, you will get 297 instead. </span> 
<p> 
<hr width="25%">
<p> <span class="p9"><b>__vbaVarDiv(VARIANT:Integer:<font color="#FF0000">97</font>, 
  VARIANT:Long:<font color="#FF0000">1</font>) returns.....</b> </span> 
<p> <span class="p9"><u>解释:</u> <br>
  97除以1 </span> 
<p> 
<hr width="25%">
<p> <span class="p9"><b>__vbaVarMul(VARIANT:String:"<font color="#FF0000">1</font>", 
  VARIANT:String:"<font color="#FF0000">2</font>") returns ...</b> </span> 
<p> <span class="p9"><u>Explanation:</u> <br>
  1乘2</span> 
<p> 
<hr width="25%">
<p> <span class="p9"><b>__vbaVarSub(VARIANT:String:"<font color="#FF0000">2</font>", 
  VARIANT:String:"<font color="#FF0000">34</font>") returns ...</b> </span> 
<p> <span class="p9"><u>解释:</u> <br>
  "34"-"2", 返回 32 </span> 
<p> 
<hr width="25%">
<p> <span class="p9"><b>MsgBox(VARIANT:String:"<font color="#FF0000">Nope! That's 
  not right</font>", Integer:0, VARIANT:String:"<font color="#FF0000">Wrong</font>",VARIANT.....)</b> 
  </span> 
<p> <span class="p9"><u>解释:</u> <br>
  创建一个消息框,标题是 "Wrong" 内容为 "Nope! That's not right" </span> 
<p><span class="p9"><font face="宋体" color="#000000"><span class="p8">看雪整理</span></font></span><span class="p8"><span class="p9"><font face="Times New Roman" color="#000000">于2000/2/27</font> 
  </span></span></p>
<p align="center"><a href="../Catalog.htm"><img src="../image/navtoc.gif" width="84" height="23" border="0"></a><a href="Chap7-2.htm"><img src="../image/Navprev.gif" width="80" height="23" border="0"></a><a href="Chap7-4.htm"><img src="../image/navnext.gif" width="83" height="23" border="0"></a></p>
<hr width=735>
<div align="center"><span class="p9"><font size="2"><span class="p9"><font size="2"><span class="p9">Copyright 
  &copy; 2000-2001 <a href="http://www.pediy.com/">KanXue Studio</a> All Rights 
  Reserved.</span></font></span></font></span></div>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -