首页
社区
课程
招聘
[求助]VB反编译,几个函数看不懂,请高手指教
发表于: 2012-5-26 22:32 8257

[求助]VB反编译,几个函数看不懂,请高手指教

2012-5-26 22:32
8257
反编译一个小软件,这是注册算法的后面部分,前面看懂了。但是这里有点看不懂。特别是几个函数,搞不清哪个是参数,哪个是反回值,请高手指教
<&MSVBVM60.__vbaVarAnd>
<&MSVBVM60.__vbaBoolVarNull>
<&MSVBVM60.__vbaVarCmpNe>
<&MSVBVM60.__vbaLenVar>
以上函数用OD调试时总是搞不明白参数和返回值。

部分代码如下:
007B70FF    .  FF15 7C104000     call dword ptr ds:[<&MSVBVM60.__vbaHresultChec>;  MSVBVM60.__vbaHresultCheckObj
007B7105    >  8D8D 68FFFFFF     lea ecx,dword ptr ss:[ebp-98]
007B710B    .  FF15 60124000     call dword ptr ds:[<&MSVBVM60.__vbaFreeStr>]   ;  MSVBVM60.__vbaFreeStr
007B7111    .  8D8D 48FFFFFF     lea ecx,dword ptr ss:[ebp-B8]
007B7117    .  FF15 5C124000     call dword ptr ds:[<&MSVBVM60.__vbaFreeObj>]   ;  MSVBVM60.__vbaFreeObj
007B711D    .  8B35 80104000     mov esi,dword ptr ds:[<&MSVBVM60.__vbaLenVar>] ;  MSVBVM60.__vbaLenVar
007B7123    .  B8 02800000       mov eax,8002
007B7128    .  8985 E8FEFFFF     mov dword ptr ss:[ebp-118],eax
007B712E    .  8985 D8FEFFFF     mov dword ptr ss:[ebp-128],eax
007B7134    .  8D55 AC           lea edx,dword ptr ss:[ebp-54]
007B7137    .  8D85 38FFFFFF     lea eax,dword ptr ss:[ebp-C8]
007B713D    .  52                push edx
007B713E    .  50                push eax
007B713F    .  C785 F0FEFFFF 170>mov dword ptr ss:[ebp-110],17
007B7149    .  C785 E0FEFFFF 1D0>mov dword ptr ss:[ebp-120],1D
007B7153    .  FFD6              call esi                                       ;  <&MSVBVM60.__vbaLenVar>
007B7155    .  8B3D 6C104000     mov edi,dword ptr ds:[<&MSVBVM60.__vbaVarCmpNe>;  MSVBVM60.__vbaVarCmpNe
007B715B    .  8D8D E8FEFFFF     lea ecx,dword ptr ss:[ebp-118]
007B7161    .  50                push eax
007B7162    .  8D95 28FFFFFF     lea edx,dword ptr ss:[ebp-D8]
007B7168    .  51                push ecx
007B7169    .  52                push edx
007B716A    .  FFD7              call edi                                       ;  <&MSVBVM60.__vbaVarCmpNe>
007B716C    .  50                push eax
007B716D    .  8D45 AC           lea eax,dword ptr ss:[ebp-54]
007B7170    .  8D8D 18FFFFFF     lea ecx,dword ptr ss:[ebp-E8]
007B7176    .  50                push eax
007B7177    .  51                push ecx
007B7178    .  FFD6              call esi
007B717A    .  50                push eax
007B717B    .  8D95 D8FEFFFF     lea edx,dword ptr ss:[ebp-128]
007B7181    .  8D85 08FFFFFF     lea eax,dword ptr ss:[ebp-F8]
007B7187    .  52                push edx
007B7188    .  50                push eax
007B7189    .  FFD7              call edi
007B718B    .  8D8D F8FEFFFF     lea ecx,dword ptr ss:[ebp-108]
007B7191    .  50                push eax
007B7192    .  51                push ecx
007B7193    .  FF15 34114000     call dword ptr ds:[<&MSVBVM60.__vbaVarAnd>]    ;  MSVBVM60.__vbaVarAnd
007B7199    .  50                push eax
007B719A    .  FF15 C8104000     call dword ptr ds:[<&MSVBVM60.__vbaBoolVarNull>;  MSVBVM60.__vbaBoolVarNull
007B71A0    .  66:85C0           test ax,ax
007B71A3    .  0F84 A4000000     je 计算机.007B724D
我是菜鸟,请高手指点下,最好能把这个代码写点注脚什么的,方便学习。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
看名字就知道什么意思了。
2012-5-26 23:08
0
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
大意倒是知道.但是不知道参数是怎么传的.
2012-5-26 23:56
0
雪    币: 2993
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
堆栈传递参数,进入函数前把参数push进去,函数体内把参数pop出来
2012-5-27 01:17
0
雪    币: 8859
活跃值: (3098)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
2012-5-27 06:39
0
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
请高手帮我讲解一下这段代码的大概意思.
2012-5-27 08:08
0
雪    币: 588
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
都是Variant类型操作的函数
__vbaVarAnd:
入口参数:堆栈,返回:eax
__vbaBoolVarNull 对应:if variant then...
入口:堆栈,出口,ax
__vbaVarCmpNe
对应:IIf(Varianta <> Variantb, Variantc, Variantd)
入口:堆栈,出口:eax
__vbaVarCmpGt:IIf(a > b, c, d)
__vbaLenVar Len(variant)
对应:Len(Variant),
入口:堆栈,出口:eax
__vbaVarCopy
Variant字符串赋值,源:Edx,目标:Ecx

都跟到这个地步了,多看看Variant的4个DD的内容就OK了
2012-6-5 11:45
0
雪    币: 23
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
无敌了。。。
2012-6-5 23:47
0
雪    币: 205
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
正解,over。
2012-7-29 07:47
0
游客
登录 | 注册 方可回帖
返回
//