麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 邏輯算法 > 正文

(看雪教程) 第7章第3節

2019-09-10 09:02:21
字體:
來源:轉載
供稿:網友

 
SmartCheck介紹

SmartCheck 是 NuMega 公司推出的一款出色的調試解釋執行程序的工具,目前最新版是 v6.03 。它非常容易使用,你不需了解匯編程序。我們以前經常用 SOFTICE 和 W32Dasm 調試程序,幸好 SmartCheck 出現大大地方便了我們。下面我就介紹SmartCheck的基本用法。


配置 SmartCheck

首先運行SmartCheck,裝載一VB程序。在菜單選擇:Program→Settings;出現圖一:(如你在SmartCheck下沒有打開應用程序,只出現三個菜單選項:Error Detection;Rrporting;Program Info.)

Error Detection(圖一):選上所有的選項。 "Report error immediately",可根據情況調整,選上后程序執行有錯誤時會立即出現報告,此時在彈出的報告欄上按acknowledge即可你嫌麻煩可不選此項.如此項沒選則不立即報告.建議不要選。


圖一

點擊在上圖中Advanced后出現圖二:

圖二

Advanced(圖二):選上前面的四項.確信"Suppress system API and OLE calls"沒被選上.

Reporting(圖三):除了"Report MouseMove events from OCX controls"外其余全選上.


圖三

--------------------------------------------------------------------------------

用SmartCheck如何運行所要crack程序

1) 首先運行;
2) 在"File" "Open"選擇你需運行的程序;
3) 按F5或選擇 "Program" "Start"運行程序;
4) 停止程序,選擇"Program" "End";
你最好是了解SmartCheck的工具欄的用法,大大方便操作。


--------------------------------------------------------------------------------

程序在SmartCheck下運行結束后你應看到時如下東西

1) 在SmartCheck里你應有3個小窗口。我自己的有時會出現一個主窗口,怎么回事呢?原來其它兩個(右邊和下邊)完全最小,縮到邊上(右邊、下邊)去了,你可用鼠標把它們拖出來。
2) 主窗口被稱為"Program Results window"。 這窗口在左上。
3) 右邊的窗口主要是顯示主窗口的一些詳細內容,很多重要詳細東西都在此,你有可能看到的序列號就在這里。

在你停止程序后,你應該分析SmartCheck給出的信息,你必需選上相關的行,并選擇"View" "Show All Events"。你需要VB介紹這課相關知識了解各比較方法和斷點函數。


--------------------------------------------------------------------------------

SmartCheck 常見信息

我用粗體表示在SmartCheck中顯示的內容。


--------------------------------------------------------------------------------

****.Text 如. Text1.Text
如果你點擊前面的“+”符號,你將看到其它的幾行,尋找SysAllocStringLen。
如. SysAllocStringLen(PTR:00000000 DWORD:00000029) returns LPVOID:410584

解釋:
從文本框取出你鍵入字符并放置在內存00410584處。這意味著你可不用SOFTICE下的"s 30 l" 查找字符串命令。我們來驗證一下:確信你的SOFTICE己運行,然后在SmartCheck下再次運行程序。當你在SmartCheck下的程序正在運行時,在適當機會用SOFTICE中斷(CTRL+D),下命令"d 00410584"。如果你做的正確的話,你將在內存里看到你鍵入的字符。 如果你的程序沒在SmartCheck下運行,你可能在此地址看不到,因為內存可能改變了。或內存“釋放”。

--------------------------------------------------------------------------------

__vbasrtcmp(String:"zzzzz"String:"yyyyy")returns DWORD:0

解釋:
__vbastrcmp -- 用來比較字符串 如. "zzzzz" and "yyyyy"
注意:你可能會看到正確序列號和你輸入字符串比較。
returns DWORD:0 -- 在SOFTICE里,你將看到比較后, eax = 0


--------------------------------------------------------------------------------

__vbafreestr(LPBSTR:0063F3F0)
點擊上面 "+" 尋找SysFreeString
如. SysFreeString(BSTR:00410584)

解釋:
字符串在內存00410584 被清除。


--------------------------------------------------------------------------------

__vbaVarCopy(VARIANT:String:"12345" VARIANT:Empty) returns DWORD:63FA30
點擊前面的 "+" 號尋找SysAllocStringByteLen
如. SysAllocStringByteLen(LPSTR:004023F0 DWORD:0000000C) returns LPVOID:4103CC

解釋:
"12345"被復制到內存 004103CC
這類似 __vbaVarMove


--------------------------------------------------------------------------------

__vbaVarForInit(VARIANT:Empty PTR:0063F920 PTR:0063F91.....)

解釋:
移動到上面,為了下一個循環
通常在它下面 __vbaVarForNext 用法與其一樣.


--------------------------------------------------------------------------------

Mid(VARIANT:String:"abcdefg" long:1 VARIANT:Integet:1)

解釋:
從位置1得到字符串"abcdefg"第一個字符。
點擊上面的 "+"號尋找 SysAllocStringByteLen
如. SysAllocStringByteLen(LPSTR:004103F0 DWORD:00000002) returns LPVOID:410434

解釋:
"a"將被復制到內存00410434
它后面通常跟隨 __vbaStrVarVal(VARIATN:String"a") returns DWORD:410434


--------------------------------------------------------------------------------

Asc(String:"T") returns Integer:84

解釋:
得到“T”的ASCII碼十進制 84


--------------------------------------------------------------------------------

SysFreeString(BSTR:004103F0)

解釋:
釋放內存位置:004103F0
這些對我們特別有用,因為當你點擊它們,看右邊窗口,你將看到被釋放的字符串。此時正確的序列號和密碼有可能在此。


--------------------------------------------------------------------------------

__vbaVarCat(VARIANT:String:"aa" VARIANT:String:"bb") returns DWORD:63F974

解釋:
連接 "bb" 和"aa"形成"aabb"


--------------------------------------------------------------------------------

__vbaFreeVar(VARIANT:String:"abcdefg")
點擊 "+"尋找SysFreeString
例. SysFreeString(BSTR:0041035C)

解釋:
從內存 0041035C釋放 "abcdefg"
這兒,點擊這行在右邊有可能發現你所要的東西。


--------------------------------------------------------------------------------

__vbaVarTstEq(VARIANT:**** VARIANT:****) returns DWORD:0

解釋:
__vbaVarTstEq 通常用來比較變量.如果它們不一樣 DWORD=0 (so eax=0)
如果它們一樣 DWORD將為FFFFFFFF (so eax=FFFFFFFF)
類似__vbaVarCmpEq


--------------------------------------------------------------------------------

Len(String:"Cracker") returns LONG:7

解釋:
得到字符串 "Cracker" 的長度為7


--------------------------------------------------------------------------------

****.Text <-- "Wrong! Try Again!!" (String)

解釋:
在文本框中顯示g "Wrong! Try Again!!"


--------------------------------------------------------------------------------

__vbaVarAdd(VARIANT:Integer:2 VARIANT:Integer:97) returns .....

解釋:
2+97=97返回99
But if both are Strings instead of Integers you will get 297 instead.


--------------------------------------------------------------------------------

__vbaVarDiv(VARIANT:Integer:97 VARIANT:Long:1) returns.....

解釋:
97除以1


--------------------------------------------------------------------------------

__vbaVarMul(VARIANT:String:"1" VARIANT:String:"2") returns ...

Explanation:
1乘2


--------------------------------------------------------------------------------

__vbaVarSub(VARIANT:String:"2" VARIANT:String:"34") returns ...

解釋:
"34"-"2" 返回 32


--------------------------------------------------------------------------------

MsgBox(VARIANT:String:"Nope! That's not right" Integer:0 VARIANT:String:"Wrong"VARIANT.....)

解釋:
創建一個消息框,標題是 "Wrong" 內容為 "Nope! That's not right"

看雪整理于2000/2/27

(編輯:天命孤獨)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 极品销魂一区二区三区 | 经典三级在线视频 | wwwav国产 | 一级免费观看 | 毛片电影网址 | 久草在线看片 | 99最新地址 | 在线观看第一区 | 毛片在线免费观看完整版 | 亚洲xxx视频| 毛片视频观看 | 免费黄色大片在线观看 | 国产免费一区二区三区网站免费 | 久久撸视频| 自拍偷拍999 | 在线香蕉视频 | 国产一级伦理片 | 成人毛片100免费观看 | 国产精品久久久久一区二区 | 国产在线一级视频 | 777sesese| 亚洲第五色综合网 | 羞羞视频免费网站 | 伊人av影院 | 久久久久免费电影 | 色播av在线 | 久久成人午夜视频 | 国内精品久久久久久久久久久久 | 日本不卡二区 | 成人一级片毛片 | 国产91av视频| 国产成人午夜高潮毛片 | 激情亚洲一区二区三区 | 国产成人精品网站 | 色就色 综合偷拍区91网 | 337p粉嫩大胆噜噜噜亚瑟影院 | 亚洲第一成av人网站懂色 | 精品国产一区二区亚洲人成毛片 | 日本xxxx色视频在线观看免费, | 日本综合久久 | 国产电影精品久久 |