Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网络安全 > 黑客技术 > Visual Basic程序之动态跟踪分析(2)
【标  题】:Visual Basic程序之动态跟踪分析(2)
【关键字】:c,程序,Visual,动态,is,Visual Basic,Basic,Visual,Basic
【来  源】:网络

Visual Basic程序之动态跟踪分析(2)

Your Ad Here 这是一种简单保护方案,如果程序者用这种函数保护,用 SOFTICE 很容易拦截。

可用到的断点:

i) __vbastrcomp or __vbastrcmp (下划线是两短线 _ 组成) <-- 串比较函数

注意:如果你是 crack VB6 程序,你应在两断点前增加 msvbvm60! 。

如: bpx msvbvm60!__vbastrcomp or bpx msvbvm60!__vbastrcmp

ii) 搜索特殊比较代码(具体参考下一节)

如: 56,57,8b,7c,24,10,8b,74,24,0c,8b,4c,24,14,33,c0,f3,66,a7

2) 变量 ( Variant)比较

在这方法中,两个变量(变量数据类型)互相比较。变量数据类型是一种特殊数据类型,包括数字、字符串或日期数据及一些用户定义的类型。这种类型储存数字长度是 16 字节或字符 22 字节(加上串长度)。

一个范例代码:

Dim correct As Variant, entered As Variant <-- 定义 "correct" and "entered" 作为变量

correct = Correct Password <-- 设置 "correct" 放置 "Correct Password"

entered = Text1.Text <-- 设置 "entered" 作为你输入密码

If correct = entered Then <-- 用变量方法比较

GoTo Correct Message

Else

GoTo Wrong Message

End If

在这方法里, 1 中的两个断点将不起作用,因为程序不再用

__vbastrcomp 等 ...

有用断点 :

i) __vbavartsteq <-- 测试变量是否相等

注意:如果你是 crack VB6 程序,你应在两断点前增加 msvbvm60! 。

例: bpx msvbvm60!__vbavartsteq

3) 长整型( long) 比较

这也是一个普通的方法。两个变量(长整型)互相比较。

long 型数据类型是 4 字节( 32 位)整数,其范围 -2,147,483,648 到 2,147,483,647 。因此该种方法存在只能比较数字的局限性。

一个此类型范例:

Dim correct As Long, entered As Long <-- 定义 "correct" 和 "entered" 作为长整型

correct = 12345 <-- 设置 "correct" 为正确密码

entered = Text1.Text <-- 设置 "entered" 为输入密码

If entered = correct Then <-- 用长整型方法比较

GoTo Correct Message

Else

GoTo Wrong Message

End If

对这种类型没有专门的断点函数,因为其数据比较是在主程序里而不是在 VB dll 中。

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

另外还有 其它的 5 种方法,如果下面的方法你听起来有点怪或不太可能,你可忽略它们,但记得 VB 保护方式不限于上述三种。

4) 单精度实数(Single)比较

5) 双精度(Double)比较

6) 整型(Integer)比较

7) 字节(Byte)比较

8) CURRENCY 型比较

上述8个比较方式是不是意味着我们每次能中断在其单个某一类型的比较程序里?回答是否定的。这是因为程序有可能同时采用两种方法来比较,如Currency和String, Variant 和 Long 等...

一些可能用上的断点

1) 数据类型转换

i) 字符串( String )转换字节( Byte )或整型( Integer ) : __vbai2str

ii) 字符串( String )转长型( Long ) : __vbai4str

iii) 字符串( String )转换单精度型( Single ) : __vbar4str

iv) 字符串( String )转换双精度型( Double ) : __vbar8str

v) 字符串( String )转 Currency 型 : VarCyFromStr ( 适合 VB6. 你的 WINICE.DAT 必须有 OLEAUT32.DLL)

vi) 整型( Integer )转字符串型( String ) : VarBstrFromI2 ( 适合 VB6. 你的 WINICE.DAT 必须 OLEAUT32.DLL)

2) 移动数据

i) 字符串( String )到内存 : __vbaStrCopy

ii) 变量( Variant )到内存 : __vbaVarCopy or __vbaVarMove

3) 运算符

i) 加法 : __vbavaradd <-- 增加变量

ii) 减法 : __vbavarsub <-- 减去变量

iii) 乘法 : __vbavarmul <-- 乘以变量

iv) 除法 : __vbavaridiv <--Dividing Variant to get answer in Integer

v) XOR: __vbavarxor <--XOR

4) 其它类

i) __vbavarfornext <--Used in codes where there is a For... Next... Statement (Loop)

ii) __vbafreestr

iii) __vbafreeobj

iv) __vbastrvarval <--Get the value from a specific location in a String

v) multibytetowidechar

vi) rtcMsgBox

vii) __vbavarcat <--Joining 2 Variants together

viii) __vbafreevar

ix) __vbaobjset

Registry Crawler 4.0注册码算法分析(1):【上一篇】
Visual Basic程序之动态跟踪分析(1):【下一篇】
【相关文章】
  • Registry Crawler 4.0注册码算法分析(1)
  • Registry Crawler 4.0注册码算法分析(2)
  • Registry Crawler 4.0注册码算法分析(3)
  • Roaring Falls Screensaver算法分析(1)
  • Roaring Falls Screensaver算法分析(2)
  • Roaring Falls Screensaver算法分析(3)
  • VirTime HTMLock V1.4.0 pj之温柔篇(1)
  • VirTime HTMLock V1.4.0 pj之温柔篇(2)
  • 简单算法——WinRCAD 2000公路设计软件
  • Quickness 3.1 注册算法分析 + 注册机源代码(tc2)
  • 【随机文章】
  • 了解jasperreport ,让web报表跑得更好
  • 双机互联双机互连共享上网的解决办法
  • xp的遠程桌面管理
  • 头文件生成器-javah.exe
  • Visual C# 2005 - 如何将 DataGridView 控件单独截取成一个位图文件
  • DOS环境巧妙破除WindowsXP登陆密码
  • APACHE中 httpd.conf 的中文详解
  • Linux图形界面知多少?--窗口管理器和桌面环境的区别
  • flash制作风吹文字效果示例
  • Oracle9i的物理内存管理
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.