第三节 SmartCheck操作技巧
SmartCheck 介绍
配置 SmartCheck
用SmartCheck如何运行所要crack程序
程序在SmartCheck下运行结束后你应看到时如下东西
SmartCheck 常见信息
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"
相关视频
相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
热门文章 去除winrar注册框方法
最新文章
比特币病毒怎么破解 比去除winrar注册框方法
华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据
人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程
查看所有0条评论>>