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

📄 chap7-2.htm.primary

📁 加密与解密,软件加密保护技术与解决方案,看雪文档!
💻 PRIMARY
📖 第 1 页 / 共 4 页
字号:
  sbb eax, FFFFFFFF <br>
  :77A12A18 85C0&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  &nbsp; test eax, eax <br>
  :77A12A1A 7F45&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  &nbsp; jg 77A12A61 <br>
  :77A12A1C 7D16&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  &nbsp; jge 77A12A34 <br>
  :77A12A1E 33C0&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  &nbsp; xor eax, eax <br>
  <br>
  看来有必要仔细看一下oleaut32.dll</span></p>
<p> </p>
<p> </p>
<p><u><font color="#FF3366"><b><font face="Times New Roman"><span class="p9"><span class="p9"><a name="5"></a>五、Visual&nbsp;Basic 
  程序</span></span></font><span class="p9"><font face="宋体">比较方法</font> </span></b></font></u></p>
<p> <span class="p9"><font face="宋体" color="#000000">在</font> <font face="Times New Roman" color="#000000">&nbsp;Visual&nbsp;Basic</font> 
  <font face="宋体" color="#000000">里有</font> <font face="Times New Roman" color="#000000">8</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">8</font> 
  <font face="宋体" color="#000000">种方法,它们都是较容易并用得较多。首先是最普通的</font> <font face="Times New Roman" color="#000000">3</font> 
  <font face="宋体" color="#000000">种:</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#0000FF">1)</font> <font face="宋体" color="#0000FF">串(</font><font color="#0000FF">string) 
  <font face="宋体">比较</font></font></span></p>
<p> <span class="p9"><font face="宋体" color="#000000">在这比较方法里,正确密码串如:</font> <font face="Times New Roman" color="#000000">&quot;Correct&nbsp;Password&quot;</font> 
  <font face="宋体" color="#000000">和你输入的密码串如:</font> <font face="Times New Roman" color="#000000">&quot;Entered&nbsp;Password&quot;</font> 
  <font face="宋体" color="#000000">比较。</font> </span></p>
<p> <span class="p9"><font face="宋体" color="#000000">串是由相邻的字符按顺序排列组成,一个串包括字母、数字、空格和标点符号。一个固定长度的串可储存</font> 
  <font face="Times New Roman" color="#000000">0</font> <font face="宋体" color="#000000">到</font> 
  <font face="Times New Roman" color="#000000">63K</font> <font face="宋体" color="#000000">字符。如是动态的串其储存字符个数可达</font> 
  <font face="Times New Roman" color="#000000">20</font> <font face="宋体" color="#000000">亿字符。</font> 
  </span> <span class="p9"><font face="Times New Roman" color="#000000">&nbsp;</font> 
  </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">VB</font> <font face="宋体" color="#000000">串比较代码一般格式:</font> 
  </span></p>
<p> </p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">If&nbsp;&quot;Correct&nbsp;Password&quot;&nbsp;=&nbsp;&quot;Entered&nbsp;Password&quot;&nbsp;then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;--</font> 
  <font face="宋体" color="#000000">直接比较两个串字符</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">GoTo&nbsp;Correct&nbsp;Message&nbsp;</font> 
  </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">Else&nbsp;</font> 
  </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">GoTo&nbsp;Wrong&nbsp;Message&nbsp;</font> 
  </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">End&nbsp;if</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> 
  </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">i)&nbsp;__vbastrcomp&nbsp;or&nbsp;__vbastrcmp&nbsp;&nbsp;</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">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;--</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">crack&nbsp;VB6</font> 
  <font face="宋体" color="#000000">程序,你应在两断点前增加</font> <font face="Times New Roman" color="#000000">msvbvm60!</font> 
  <font face="宋体" color="#000000">。</font> </span></p>
<p> <span class="p9"><font face="宋体" color="#000000">如:</font> <font face="Times New Roman" color="#000000">&nbsp;bpx&nbsp;msvbvm60!__vbastrcomp&nbsp;or&nbsp;bpx&nbsp;msvbvm60!__vbastrcmp</font> 
  </span></p>
<p> </p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">ii)</font> <font face="宋体" color="#000000">搜索特殊比较代码(具体参考下一节)</font> 
  </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">&nbsp;</font> 
  <font face="宋体" color="#000000">如:</font> <font face="Times New Roman" color="#000000">56,57,8b,7c,24,10,8b,74,24,0c,8b,4c,24,14,33,c0,f3,66,a7&nbsp;</font> 
  </span> <span class="p9"><font face="Times New Roman" color="#000000">&nbsp;</font> 
  </span></p>
<p> </p>
<p> <font color="#3333FF"><span class="p9"><font face="Times New Roman">2)&nbsp;</font> 
  <font face="宋体">变量</font><font color="#3333FF"><span class="p9">(</span></font><font face=verdana,arial,helvetica size=2>Variant</font>)<font face="宋体">比较</font> 
  </span></font></p>
<p> <span class="p9"><font face="宋体" color="#000000">在这方法中,两个变量(变量数据类型)互相比较。变量数据类型是一种特殊数据类型,包括数字、字符串或日期数据及一些用户定义的类型。这种类型储存数字长度是</font> 
  <font face="Times New Roman" color="#000000">16</font> <font face="宋体" color="#000000">字节或字符</font> 
  <font face="Times New Roman" color="#000000">22</font> <font face="宋体" color="#000000">字节(加上串长度)。</font> 
  </span></p>
<p> </p>
<p> <span class="p9"><font face="宋体" color="#000000">一个范例代码:</font> </span></p>
<p> </p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">Dim&nbsp;correct&nbsp;As&nbsp;Variant,&nbsp;entered&nbsp;As&nbsp;Variant&nbsp;&nbsp;&nbsp;&nbsp;&lt;--</font> 
  <font face="宋体" color="#000000">定义</font> <font face="Times New Roman" color="#000000">&quot;correct&quot;&nbsp;and&nbsp;&quot;entered&quot;&nbsp;</font> 
  <font face="宋体" color="#000000">作为变量</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">correct&nbsp;=&nbsp;Correct&nbsp;Password&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;--</font> 
  <font face="宋体" color="#000000">设置</font> <font face="Times New Roman" color="#000000">&nbsp;&quot;correct&quot;</font> 
  <font face="宋体" color="#000000">放置</font> <font face="Times New Roman" color="#000000">&quot;Correct&nbsp;Password&quot;&nbsp;</font> 
  </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">entered&nbsp;=&nbsp;Text1.Text&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;--</font> 
  <font face="宋体" color="#000000">设置</font> <font face="Times New Roman" color="#000000">&nbsp;&quot;entered&quot;&nbsp;</font> 
  <font face="宋体" color="#000000">作为你输入密码</font> <font face="Times New Roman" color="#000000">&nbsp;</font> 
  </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">If&nbsp;correct&nbsp;=&nbsp;entered&nbsp;Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;--</font> 
  <font face="宋体" color="#000000">用变量方法比较</font> <font face="Times New Roman" color="#000000">&nbsp;</font> 
  </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">GoTo&nbsp;Correct&nbsp;Message&nbsp;</font> 
  </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">Else&nbsp;</font> 
  </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">GoTo&nbsp;Wrong&nbsp;Message&nbsp;</font> 
  </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">End&nbsp;If</font> 
  </span></p>
<p> </p>
<p> <span class="p9"><font face="宋体" color="#000000">在这方法里,</font> <font face="Times New Roman" color="#000000">1</font> 
  <font face="宋体" color="#000000">中的两个断点将不起作用,因为程序不再用</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">__vbastrcomp&nbsp;</font> 
  <font face="宋体" color="#000000">等</font> <font face="Times New Roman" color="#000000">...</font> 
  </span></p>
<p> </p>
<p> <span class="p9"><font face="宋体" color="#000000">有用断点</font> <font face="Times New Roman" color="#000000">&nbsp;</font> 
  <font face="宋体" color="#000000">:</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">i)&nbsp;__vbavartsteq&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;--</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">crack&nbsp;VB6</font> 
  <font face="宋体" color="#000000">程序,你应在两断点前增加</font> <font face="Times New Roman" color="#000000">msvbvm60!</font> 
  <font face="宋体" color="#000000">。</font> </span></p>
<p> <span class="p9"><font face="宋体" color="#000000">例:</font> <font face="Times New Roman" color="#000000">&nbsp;bpx&nbsp;msvbvm60!__vbavartsteq&nbsp;</font> 
  </span> <span class="p9"><font face="Times New Roman" color="#000000">&nbsp;</font> 
  </span></p>
<p> </p>
<p> <font color="#0000FF"><span class="p9"><font face="Times New Roman">3)</font> 
  <font face="宋体">长整型(</font> <font face="Times New Roman">long)</font> <font face="宋体">比较</font> 
  </span></font></p>
<p> <span class="p9"><font face="宋体" color="#000000">这也是一个普通的方法。两个变量(长整型)互相比较。</font> 
  </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">long</font> 
  <font face="宋体" color="#000000">型数据类型是</font> <font face="Times New Roman" color="#000000">4</font> 
  <font face="宋体" color="#000000">字节(</font> <font face="Times New Roman" color="#000000">32</font> 
  <font face="宋体" color="#000000">位)整数,其范围</font> <font face="Times New Roman" color="#000000">-2,147,483,648&nbsp;</font> 
  <font face="宋体" color="#000000">到</font> <font face="Times New Roman" color="#000000">&nbsp;2,147,483,647</font> 
  <font face="宋体" color="#000000">。因此该种方法存在只能比较数字的局限性。</font> </span></p>
<p> <span class="p9"><font face="宋体" color="#000000">一个此类型范例:</font> </span></p>
<p> </p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">Dim&nbsp;correct&nbsp;As&nbsp;Long,&nbsp;entered&nbsp;As&nbsp;Long&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;--</font> 
  <font face="宋体" color="#000000">定义</font> <font face="Times New Roman" color="#000000">&nbsp;&quot;correct&quot;&nbsp;</font> 
  <font face="宋体" color="#000000">和</font> <font face="Times New Roman" color="#000000">&nbsp;&quot;entered&quot;&nbsp;</font> 
  <font face="宋体" color="#000000">作为长整型</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">correct&nbsp;=&nbsp;12345&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;--</font> 
  <font face="宋体" color="#000000">设置</font> <font face="Times New Roman" color="#000000">&quot;correct&quot;</font> 
  <font face="宋体" color="#000000">为正确密码</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">entered&nbsp;=&nbsp;Text1.Text&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;--</font> 
  <font face="宋体" color="#000000">设置</font> <font face="Times New Roman" color="#000000">&nbsp;&quot;entered&quot;</font> 
  <font face="宋体" color="#000000">为输入密码</font> </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">If&nbsp;entered&nbsp;=&nbsp;correct&nbsp;Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;--</font> 
  <font face="宋体" color="#000000">用长整型方法比较</font> <font face="Times New Roman" color="#000000">&nbsp;</font> 
  </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">GoTo&nbsp;Correct&nbsp;Message&nbsp;</font> 
  </span></p>
<p> <span class="p9"><font face="Times New Roman" color="#000000">Else&nbsp;</font> 
  </span></p>

⌨️ 快捷键说明

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