VB.NET还是比较常用的,于是我研究了一下VB.NET函数,在这里拿出来和大家分享一下,希望对大家有用。Visual Basic(以下简称VB)可以说是可视化语言的先驱了,而且它也是可视化程度最高的一个,从几年前VB诞生之日起到现在,它已经经历了五个版本,而且现在微软正在紧张的进行着VB6.0的研制、测试,这么高的更新率,不外乎说明两个问题:用户对VB的热衷,微软对VB的重视。
#T#不可否认微软对市场的预测能力是极为高明的,而它强大的技术、财力支持也使它在许多以前未进入的领域,在不长的时间内有成为最有力的竞争对手,如IE之于浏览器领域,《帝国时代》之于游戏都是最好的例证。对于VB现在也有一个很强的竞争对手――Delphi,有人把它称作VB杀手,这显然有偏激之处,VB的确有它的不足之处,但 Delphi又何尝不是呢,而且以微软对VB的倾心,VB的功能必然会越来越强大。
几个常用VB.NET函数简解:
1、VB.NET函数 __vbavartstne
如是在VB5中CALL MSVBVM50!___vbavartstne进去后在0F04E351你将看到:
push dword ptr [ebp+0c] ;Push address *真* serial 的地址
push dword ptr [ebp+10] ;Push address 你输入的serial地址
- 1.
- 2.
下命令:d ebp+0c你将在数据窗口看到 4字节地址倒序排列,你再次D 地址(己纠正顺序的), 就可看到序列号了。
2、VB.NET函数 __vbaR8Str
在 VB5中是如下情况:
Push ebp-20
Call MSVBUM50.__vbaR8Str ;转换 string 到 Integer/Real
fcomp qword ptr [00401028] ;数据比较
- 1.
- 2.
- 3.
在这行fcomp qword ptr [00401028] Type: DL 00401028 将看到*real* serial #.DL 是显示 Long/real 型,SOFTICE默认时是DB状态。
3、 VB.NET函数__vbastrcmp
例:
:005BDC32 CALL [MSVBVM50!__VbaFreeVar]
:005BDC38 MOV ESI,[EBP+08]
:005BDC3B PUSH ESI
:005BDC3E CALL [ECX+00000790] <-- 值返回到 EDX.
:005BDC44 MOV EDX,[ESI+4C] <-- 输入的号码,但倒转
:005BDC47 MOV EAX,[005E0078] <-- 正确号码
:005BDC4C PUSH EDX
:005BDC4D PUSH EAX <-- Push参数给 __vbaStrCmp.
:005BDC4E CALL [MSVBVM50!__vbaStrCmp] <-- Visual Basic 字符串比较
:005BDC54 TEST EAX,EAX <-- 测试比较结果
:005BDC56 JNZ 005BDC64 <-- 不相等跳走
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.