?? lesson1531.htm
字號:
Code保護;難度:中</span> </p>
<p><span class="p9"><a href="#" onClick="expandIt('KB4'); return false"><b>習題四</b>
我要看答案</a> </span></p>
</div>
<div id="KB4Child" class="child">
<table width="100%" align="center" cellspacing="0">
<tr bgcolor="#EFEFEF">
<td height="28">
<p> <font face="Times New Roman" color="#000000"><span class="p9">這是<span class="p9">VB6</span></span></font><span class="p9">程序
<br>
</span><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>
</span><span class="p9"><font face="宋體" color="#000000">但是</font> <font face="Times New Roman" color="#000000">SmartCheck</font>
<font face="宋體" color="#000000">還是給了我們點線索:</font> <br>
</span><span class="p9"><font face="Times New Roman" color="#000000">- register_Click InputBox ;</font>
<font face="宋體" color="#000000">較有趣</font> <font face="Times New Roman" color="#000000">...</font>
<br>
</span><span class="p9"><font face="Times New Roman" color="#000000">Label1.Caption <- "NEIN" (String)</font>
<br>
</span><span class="p9"><font face="Times New Roman" color="#000000">MsgBox returns Integer:1 ;N?Probier's nochmal</font>
</span> <br>
<span class="p9"><font face="宋體" color="#000000">因此我們以警告窗口函數設斷</font>
<font face="Times New Roman" color="#000000">: rtcmsgbox</font>
<font face="宋體" color="#000000">;也可用</font> <font face="Times New Roman" color="#000000">rtcInputBox</font>
<font face="宋體" color="#000000">設斷<br>
</font></span><span class="p9"><font face="Times New Roman" color="#000000">1) bpx rtcinputbox, </font>
<font face="宋體" color="#000000">有用</font> <font face="Times New Roman" color="#000000">!</font>
</span> <br>
<span class="p9"><font face="Times New Roman" color="#000000">:0040208E CALL [MSVBVM60!rtcInputBox] ;</font>
<font face="宋體" color="#000000">顯示對話框</font> <br>
</span><span class="p9"><font face="Times New Roman" color="#000000">:00402094 LEA EDX,[EBP-00A8]</font>
<br>
</span><span class="p9"><font face="Times New Roman" color="#000000">:0040209A LEA ECX,[EBP-24]</font>
<br>
</span><span class="p9"><font face="Times New Roman" color="#000000">:0040209D MOV [EBP-00A0], EAX ;d EAX:</font>
<font face="宋體" color="#000000">我的序列號</font> <font face="Times New Roman" color="#000000">(wide chars)</font>
<br>
</span><span class="p9"><font face="Times New Roman" color="#000000">:004020A3 MOV DWORD PTR [EBP-00A8],00000008 ;</font>
<font face="宋體" color="#000000">設置變量</font> <font face="Times New Roman" color="#000000"> ?</font>
<br>
</span><span class="p9"><font face="Times New Roman" color="#000000">2) </font>
<br>
</span><span class="p9"><font face="Times New Roman" color="#000000">:004020E0 LEA ECX,[EBP-24] </font>
<br>
</span><span class="p9"><font face="Times New Roman" color="#000000">:004020E3 LEA EDX,[EBP-00B8] </font>
<br>
</span><span class="p9"><font face="Times New Roman" color="#000000">:004020E9 mov dword ptr [ebp+FFFFFF50], 00401C50 (*);</font>
<font face="宋體" color="#000000">放正確序列號地址于</font><font face="Times New Roman" color="#000000">;[EDX+8]</font>
<font face="宋體" color="#000000">處</font> <br>
</span><span class="p9"><font face="Times New Roman" color="#000000">:004020F3 push ecx</font>
<br>
</span><span class="p9"><font face="Times New Roman" color="#000000">:004020F4 push edx</font>
<br>
</span><span class="p9"><font face="Times New Roman" color="#000000">:004020F5 mov dword ptr [ebp+FFFFFF48], 00008008</font>
<br>
</span><span class="p9"><font face="Times New Roman" color="#000000">:004020FF Call dword ptr [MSVBVM60.__vbaVarTstEq] ;</font>
<font face="宋體" color="#000000">變量比較</font> <font face="Times New Roman" color="#000000"> (</font>
<font face="宋體" color="#000000">非常重要的BPX</font><font face="Times New Roman" color="#000000">)</font>
<br>
</span><span class="p9"><font face="Times New Roman" color="#000000">:00402105 test ax, ax ;jmp = </font>
<font face="宋體" color="#000000">錯誤的序列號</font> <br>
</span><span class="p9"><font face="Times New Roman" color="#000000">:00402108 je 004021B4</font>
</span> <br>
<span class="p9"><font face="宋體" color="#000000">一旦你跟蹤到時這段代碼</font>
<font face="Times New Roman" color="#000000">:004020E9</font> <font face="宋體" color="#000000">處,看看</font>
<font face="Times New Roman" color="#000000">401C50</font> <font face="宋體" color="#000000">、</font>
<font face="Times New Roman" color="#000000">ecx</font> <font face="宋體" color="#000000">和</font>
<font face="Times New Roman" color="#000000">edx</font> </span> <br>
<span class="p9"><font face="宋體" color="#0000FF">注意:此時你如檢測</font> <font face="Times New Roman" color="#0000FF">ecx/edx</font>
<font face="宋體" color="#0000FF">你什么將看不到,這是因為</font> <font face="Times New Roman" color="#0000FF">VB</font>
<font face="宋體" color="#0000FF">用了一些特殊的地址方式,牢記此時用</font> <font face="Times New Roman" color="#0000FF">ecx+8 </font>
<font face="宋體" color="#0000FF">和</font> <font face="Times New Roman" color="#0000FF"> edx+8</font>
<font face="宋體" color="#0000FF">查看內存。你將發現你輸入的序列號和正確的序列號的偏移地址。</font>
<br>
</span><span class="p9"><font face="宋體" color="#000000">會發現</font> <font face="Times New Roman" color="#000000">ecx+8,</font>
<br>
</span><span class="p9"><font face="Times New Roman" color="#000000">bc 02 41 00.. .. .. D 4102bc </font>
<font face="宋體" color="#000000">你輸入的序列號</font> <br>
</span><span class="p9"><font face="Times New Roman" color="#000000">edx+8</font>
<font face="宋體" color="#000000">為:</font> <br>
</span><span class="p9"><font face="Times New Roman" color="#000000">50 1C 40 00.. .. .. d 401c50 </font>
<font face="宋體" color="#000000">正確序列號</font> <br>
</span><span class="p9"><font face="宋體" color="#000000">我們真實序列號為</font>
<font face="Times New Roman" color="#000000">: 3484</font></span>
</p>
<p> </p>
</td>
</tr>
</table>
</div>
<div id="KB5Parent" class="parent">
<p><b><span class="p9">習題五</span></b><span class="p9"><a href="javascript:if(confirm('http://toye.dihou.org/vb-exercises-05.zip \n\n這個文件不能通過 Teleport Pro 取回, 因為 沒有遇到方案的文件類型說明. \n\n你想從服務器打開它嗎?'))window.location='http://toye.dihou.org/vb-exercises-05.zip'" tppabs="http://toye.dihou.org/vb-exercises-05.zip">vb-exercises-05</a>
Code保護;難度:易</span> </p>
<p><a href="#" onClick="expandIt('KB5'); return false" class="p9"><b>習題五</b>
我要看答案</a> </p>
</div>
<div id="KB5Child" class="child">
<table width="100%" align="center" cellspacing="0">
<tr bgcolor="#EFEFEF">
<td height="194">
<p> <font face="宋體" color="#000000"><span class="p9"><span class="p9">這是</span></span></font>
<span class="p9"><span class="p9"><font face="Times New Roman" color="#000000">VB6</font>
<font face="宋體" color="#000000">程序</font> <br>
<font face="宋體" color="#000000">一、用</font> <font face="Times New Roman" color="#000000" class="p9">SOFTICE</font>
</span></span><span class="p9"><br>
</span><span class="p9"><font face="宋體" color="#000000">如此設斷:</font>
<font face="Times New Roman" color="#000000">bpx MSVBVM60!__vbastrcomp ( </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>
<br>
</span><span class="p9"><font face="宋體" color="#000000">在第一個</font>
<font face="Times New Roman" color="#000000">Call [6610EE58]</font>
<br>
</span><span class="p9"><font face="宋體" color="#000000">直到跟蹤</font>
<font face="Times New Roman" color="#000000"> Test ecx,ecx</font>
<br>
</span><span class="p9"><font face="Times New Roman" color="#000000"> Then do D ecx --> 3.Q.r.5.3.p.X...</font>
<br>
</span><span class="p9"><font face="Times New Roman" color="#000000"> ....R.E.G.I.S.T.</font>
<br>
</span><span class="p9"><font face="Times New Roman" color="#000000"> R.E.D....N.3.f..</font>
<br>
</span><span class="p9"><font face="宋體" color="#000000">注冊碼</font> <font face="Times New Roman" color="#000000">: 3Qr53pX</font>
</span><br>
<span class="p9"><font face="宋體" color="#000000">二、用</font> <font face="Times New Roman" color="#000000">SmartCheck</font>
<br>
</span><span class="p9"><font face="宋體" color="#000000">展開</font> <font face="Times New Roman" color="#000000">cmdReg_Click </font>
<br>
</span><span class="p9"><font face="宋體" color="#000000">下</font> <font face="Times New Roman" color="#000000">"Show All Events" </font>
<br>
</span><span class="p9"><font face="Times New Roman" color="#000000">__vbaStrCmp(String"3Qr53pX", String"1133557799.."......) </font>
</span><span class="p9"> </span> </p>
</td>
</tr>
</table>
<p> </p>
</div>
<div id="KB6Parent" class="parent">
<p><b><span class="p9">習題六</span></b><span class="p9"><a href="javascript:if(confirm('http://toye.dihou.org/vb-exercises-06.zip \n\n這個文件不能通過 Teleport Pro 取回, 因為 沒有遇到方案的文件類型說明. \n\n你想從服務器打開它嗎?'))window.location='http://toye.dihou.org/vb-exercises-06.zip'" tppabs="http://toye.dihou.org/vb-exercises-06.zip">vb-exercises-06</a>
Code保護;難度:中</span></p>
<p><a href="#" onClick="expandIt('KB6'); return false" class="p9"> <b>習題六</b>
我要看答案</a> </p>
</div>
<div id="KB6Child" class="child">
<table width="100%" align="center" cellspacing="0">
<tr bgcolor="#EFEFEF">
<td height="28">
<p> <font face="宋體" color="#000000"><span class="p9">程序</span></font>
<span class="p9"><font face="Times New Roman" color="#000000">: Visual Basic 6</font>
<br>
</span><span class="p9"><font face="宋體" color="#000000">工具</font> <font face="Times New Roman" color="#000000">:NuMega SmartCheck</font>
<br>
</span><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">SmartCheck</font>
<font face="宋體" color="#000000">里理解并分析數據</font></span> <br>
<span class="p9"><font face="Times New Roman" color="#000000">1</font>
<font face="宋體" color="#000000">、這個軟件在檢查序列號前,先查長度,如不是</font> <font face="Times New Roman" color="#000000">9</font>
<font face="宋體" color="#000000">位則不進比較。然后依次一個一個比較序列號,正確就往下進行,錯誤就停止比較。那是如何知道的?呵,試唄。</font>
<br>
</span><span class="p9"><font face="Times New Roman" color="#000000">2</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">123456,</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">SmartCheck</font>
<font face="宋體" color="#000000">下有左右兩個窗口,下面一個窗口,如你的是一個窗口,請用鼠標把右邊和下面的拖出,它們有可能最小化了(我的剛才就是這情況)。</font>
<br>
</span><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">3</font>
<font face="宋體" color="#000000">個信息,其中:</font> <font face="Times New Roman" color="#000000">Len(String:"123456") returns LONG:6</font>
<br>
</span><span class="p9"><font face="Times New Roman" color="#000000">**</font>
<font face="宋體" color="#000000">這意味著是檢查你輸入的字符串的長度,你就多試幾次,最后應是</font>
<font face="Times New Roman" color="#000000">9</font> <font face="宋體" color="#000000">位才對</font>
<font face="Times New Roman" color="#000000">.....</font> <br>
</span><span class="p9"><font face="Times New Roman" color="#000000">3</font>
<font face="宋體" color="#000000">、好,當我們輸入</font> <font face="Times New Roman" color="#000000">9</font>
<font face="宋體" color="#000000">個字符</font> <font face="Times New Roman" color="#000000">"999999999"</font>
<font face="宋體" color="#000000">時:</font> <br>
</span><span class="p9"><font face="宋體" color="#000000">最后展開</font>
<font face="Times New Roman" color="#000000">Command1_Click. </font>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -