`
hereson
  • 浏览: 1428319 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

VB程序逆向常用的函数

    博客分类:
  • vbs
 
阅读更多

1) 数据类型转换: 
a) __vbaI2Str    将一个字符串转为8 位(1个字节)的数值形式(范围在 0 至 255 之间) 或2 个字节的数值形式(范围在 -32,768 到 32,767 之间)。
b)__vbaI4Str   将一个字符串转为长整型(4个字节)的数值形式(范围从-2,147,483,6482,147,483,647) 
c)__vbar4Str  将一个字符串转为单精度单精度浮点型(4个字节)的数值形式
d)__vbar8Str   将一个字符串转为双精度单精度浮点型(8个字节)的数值形式
e) VarCyFromStr    (仅VB6库. 要调试,则在WINICE.DAT里必须有 OLEAUT32.DLL)字符串到变比型数据类型 
f) VarBstrFromI2  (仅VB6库. 要调试,则在WINICE.DAT里必须有 OLEAUT32.DLL)整型数据到字符串:

2) 数据移动: 
a) __vbaStrCopy      将一个字符串拷贝到内存,类似于 Windows API HMEMCPY 
b) __vbaVarCopy     将一个变量值串拷贝到内存 
c) __vbaVarMove    变量在内存中移动,或将一个变量值串拷贝到内存

3) 数学运算:
a)  __vbavaradd      两个变量值相加 
b) __vbavarsub      第一个变量减去第二个变量
c) __vbavarmul     两个变量值相乘
d) __vbavaridiv     第一个变量除以第二个变量,得到一个整数商 
e) __vbavarxor       两个变量值做异或运算

4) 程序设计杂项: 
a) __vbavarfornext  这是VB程序里的循环结构, For... Next...  (Loop) 
b) __vbafreestr    释放出字符串所占的内存,也就是把内存某个位置的字符串给抹掉
c) __vbafreeobj   释放出VB一个对象(一个窗口,一个对话框)所占的内存,也就是把内存某个位置的一个窗口,一个对话框抹掉
d) __vbastrvarval  从字符串特点位置上获取其值 
e) multibytetowidechar  将数据转换为宽字符格式,VB在处理数据之都要这样做,在TRW2000显示为7.8.7.8.7.8.7.8
f) rtcMsgBox   调用一个消息框,类似于WINDOWS里的messagebox/a/exa,此之前一定有个PUSH命令将要在消息框中显示的数据压入椎栈 
g) __vbavarcat    将两个变量值相连,如果是两个字符串,就连在一起 
h) __vbafreevar  释放出变量所占的内存,也就是把内存某个位置的变量给抹掉
i) __vbaobjset 
j)  __vbaLenBstr   获得一个字符串的长度,注:VB中一个汉字的长度也为1
k) rtcInputBox    显示一个VB标准的输入窗口,类似window's API getwindowtext/a, GetDlgItemtext/a 
l) __vbaNew      调用显示一个对话框,类似 Windows' API Dialogbox 
m) __vbaNew2    调用显示一个对话框,类似 Windows' API Dialogboxparam/a 
n) rtcTrimBstr   将字串左右两边的空格去掉

5) 比较函数
a)  __vbastrcomp   比较两个字符串,类似于 Window's API lstrcmp 
b)  __vbastrcmp   比较两个字符串,类似于 Window's API lstrcmp 
c) __vbavartsteq  比较两个变量值是否相等
d)__vbaFpCmpCy                  - Compares Floating point to currency. sp;            Compares Floating point to currency

6) 在动态跟踪,分析算法时,尤其要注意的函数:
rtcMidCharVar  从字符串中取相应字符,VB中的MID函数,用法MID("字符串","开始的位置","取几个字符")
rtcLeftCharVar 从字符串左边取相应字符,VB中的用法:left("字符串","从左边开始取几个字符")
rtcRightCharVar 从字符串右边取相应字符,VB中的用法:Right("字符串","从右边开始取几个字符")
__vbaStrCat  用字符串的操作,就是将两个字符串合起来,在VB中只有一个&或+
__vbaStrCmp  字符串比较,在VB中只有一个=或<>
ASC()函数    取一个字符的ASC值,在反汇编时,还是有的movsx 操作数

7) 在函数中的缩写:
bool 布尔型数据(TRUE 或  FALSE) 
str  字符串型数据 STRING
i2   字节型数据或双字节整型数据  BYTE or Integer
ui2  无符号双字节整型数据  
i4   长整型数据(4字节)  Long
r4   单精度浮点型数据(4字节)  Single 
r8   双精度浮点型数据(8字节)  Double
cy  (8 个字节)整型的数值形式 Currency
var  变量     Variant
fp  浮点数据类型  Float Point
cmp  比较   compare
comp 比较   compare
 
Btw:
__vbavartsteq系列的还有__vbavartstne 不等于
__vbavartstGe,__vbavartstGt,__vbavartstLe,__vbavartstLt等,比较大于或小于

分享到:
评论

相关推荐

    VB杀手 v1.0.2007.1210(附源码)

    配合IDA使用,可以建立VB程序几乎所有的类结构、方法表、函数体,并建立方法表结构体;可以识别VB程序中引用的COM的CLSID,并使用ProgID命名;可以建立任意COM程序(非VB编译的也可以)的方法表、函数体,并建立...

    逆向VB_API帮助

    VB函数,程序结构,运算符和表达式,基本句子,数据类型,API的逆向分析!

    加密解密.技术内幕.chm

    code传奇8.3 VB编译奥秘8.4 VB与COM8.5 VB可执行程序结构研究8.6 VB程序事件解读8.7 VB程序图形界面(GUI)解读 8.8 VB程序执行代码研究8.9 我们的工具8.10 VB程序保护篇 附录A 在Visual C++中使用内联汇编附录B 在...

    软件加密技术内幕 chm

    软件加密技术内幕 要花时间看 ...8.7 VB程序图形界面(GUI)解读 8.8 VB程序执行代码研究 8.9 我们的工具 8.10 VB程序保护篇 附录A 在Visual C++中使用内联汇编 附录B 在Visual Basic中使用汇编

    软件加密技术内幕

    软件加密技术内幕chm文档及配套光盘 ...8.7 VB程序图形界面(GUI)解读 8.8 VB程序执行代码研究 8.9 我们的工具 8.10 VB程序保护篇 附录A 在Visual C++中使用内联汇编 附录B 在Visual Basic中使用汇编

    加壳工具-Virbox Protector standalone

    Virbox Protector Standalone提供了强大的代码虚拟化、高级混淆与智能压缩技术,保护您的程序免受逆向工程和非法修改。 Virbox Protector Standalone 将被保护的程序代码转换为虚拟机代码,程序运行时,虚拟机将模拟...

    【软件加密技术内幕】

    &lt;br/&gt; &lt;br/&gt;第8章 Visual Basic 6 逆向工程 &lt;br/&gt;8.1 简介 &lt;br/&gt;8.2 P-code传奇 &lt;br/&gt;8.3 VB编译奥秘 &lt;br/&gt;8.4 VB与COM&lt;br/&gt;&lt;br/&gt;8.5 VB可执行程序结构研究 &lt;br/&gt;8.6 VB程序事件解读...

    【软件加密_技术内幕】

    [Trial version] VB anti-loader 2种常用方法介绍.htm [Trial version] 5.3.1 利用TEB检测 [Trial version] 浅谈利用 TEB 实现的反跟踪.htm [Trial version] 5.4 反DUMP技术(Anti-Dump) [Trial version] 理论...

    windows环境下32位汇编语言程序设计

    而且,我们惊喜地发现,做了“好市民”以后,我们反而拥有了和其他语言同样的权利——为了做图形和界面等方面的功能,汇编程序员在DOS时代连做梦都在羡慕C语言庞大的函数库,而现在,Windows为我们提供了比这还要多...

    软件加密技术内幕配套光盘(iso版本)

    本例简单说明了如何直接修改vb6程序的控件属性值 │ ├─example6 ;一个VB6 P-code Crackme分析实例 │ └─example7 ;VB“自锁”功能实现的实例 │ ├─附录A.....................................附录A 在Visual ...

    程序员需要刷题吗-Deviare2:分流API钩子

    进行恶意软件和逆向工程研究。 我们的博客文章包含大量代码示例,可让您轻松入门。 Deviare 提供了一个独特的程序员友好的 API ,它解决了与二进制检测相关的复杂性,因此即使是没有该领域专业知识的软件工程师也...

    Java开发技术大全(500个源代码).

    converseNumber.java 逆向输出数字 daffodilNumber.java 求水仙花数 division.java 演示整除结果 errorCompoundVariable.java 错误使用局部变量示例 factorial.java 求阶乘 Fibonacci.java 求Fiblnacci数列 ...

    VC与Labview、Matlab编程论文资料[2].rar

    MFC消息响应函数的逆向定位.pdf MFC消息映射机制探讨.pdf MFC的RTTI技术及动态创建的实现.pdf MIMO系统预测控制及其Matlab与VC仿真实现.pdf MScomm控件在VC++6.0串口通信中的应用.pdf MSComm控件在VC_6_0串口通信中...

    VC与Labview、Matlab编程论文资料

    MFC消息响应函数的逆向定位.pdf MFC消息映射机制探讨.pdf MFC的RTTI技术及动态创建的实现.pdf MIMO系统预测控制及其Matlab与VC仿真实现.pdf MScomm控件在VC++6.0串口通信中的应用.pdf MSComm控件在VC_6_0串口通信中...

    VC与Labview、Matlab编程论文资料[4].rar

    MFC消息响应函数的逆向定位.pdf MFC消息映射机制探讨.pdf MFC的RTTI技术及动态创建的实现.pdf MIMO系统预测控制及其Matlab与VC仿真实现.pdf MScomm控件在VC++6.0串口通信中的应用.pdf MSComm控件在VC_6_0串口通信中...

    2018 猎豹网校 教程大全 资源难找赶紧保存吧

    北风网 C++反汇编基础:Win32平台(逆向实例、动态调试实例)[MP4] 安卓 Android 游戏编程入门(上)[MP4] Word排版高级技巧[MP4] Word 零基础入门[MP4] Windows程序设计 初级课程(一)[MP4] Windows Api学习指南...

Global site tag (gtag.js) - Google Analytics