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

VB函数——逆向分析备查

    博客分类:
  • vbs
 
阅读更多

Variant 变量的内部表示:
_______________________________________________________________
符号常量 值 内部表示 字节数
V_EMPTY 0 Empty
V_NULL 1 Null
V_INTEGER 2 Interger 2
V_LONG 3 Long 4
V_SINGLE 4 Single 4
V_DOUBLE 5 Double 8
V_CURRENCY 6 Currency 8
V_DATE 7 Date 8
V_STRING 8 String
V_OLE 9 OLE Automation Object
V_ERROR 10 Error
V_BOOLEAN 11 Boolean 2
V_VARIANT 12 Variant(仅用于变体数组) 16(22) 
V_OBJECT 13 Object(非OLE自动化对象) 4
V_BYTE 17 Byte 1
V_ARRAY 8192 Array
________________________________________________________________


__vbaVarMove ;变体变量赋值(一般用于数值变量)

lea edx,var1 ;变量1的地址放到edx
lea ecx,var2 ;变量2的地址放到ecx
call __vbaVarMove ;把变量1赋值给变量2
;-------------------------------------------------
__vbaVarCopy ;变体变量赋值(一般用于字符串变量)

lea edx,var1 ;变量1的地址放到edx
lea ecx,var2 ;变量2的地址放到ecx
call __vbaVarMove ;把变量1赋值给变量2
;-------------------------------------------------

__vbaVarAdd ;变体变量相加 +

lea eax,var1
push eax ;加数1
lea ecx,var2
push ecx ;加数2
lea edx,var3
push edx ;结果
call __vbaVarAdd ;变量相加,在eax中返回
;-------------------------------------------------

__vbaVarSub ;变体变量相减 -

lea eax,var1
push eax ;被减数
lea ecx,var2
push ecx ;减数
lea edx,var3
push edx ;结果
call __vbaVarSub ;变量相减,在eax中返回
;-------------------------------------------------

__vbaVarMul ;变体变量相乘 *

lea eax,var1
push eax ;被乘数
lea ecx,var2
push ecx ;乘数
lea edx,var3
push edx ;结果
call __vbaVarMul ;变量相乘,在eax中返回
;-------------------------------------------------

__vbaVarDiv ;变体变量相除(浮点除法)/

lea eax,var1
push eax ;被除数
lea ecx,var2
push ecx ;除数
lea edx,var3
push edx ;结果
call __vbaVarDiv ;变量相除,在eax中返回
;------------------------------------------------

__vbaVarIdiv ;变体变量相除(整数除法)\

lea eax,var1
push eax ;被除数
lea ecx,var2
push ecx ;除数
lea edx,var3
push edx ;结果
call __vbaVarIdiv ;变量相除,在eax中返回
;------------------------------------------------
__vbaVarMod ;变体变量取模运算 Mod

lea eax,var1
push eax ;被除数
lea ecx,var2
push ecx ;除数
lea edx,var3
push edx ;结果
call __vbaVarMod ;变量去模,在eax中返回
;------------------------------------------------
__vbaVarNeg ;变体变量前加负号 -

lea eax,var1
push eax ;变量
lea ecx,var2
push ecx ;结果
call __vbaVarNeg ;对变量取补
;------------------------------------------------
__vbaVarPow ;变体变量求幂 ^

lea eax,var1
push eax ;底数
lea ecx,var2
push ecx ;指数
lea edx,var3
push edx ;结果
call __vbaVarPow ;求幂,在eax中返回
;------------------------------------------------
__vbaVarTstGt ;关系运算 >

lea eax,var1
push eax ;变量1
lea eax,var2
push eax ;变量2
call __vbaVarTstGt ;if var1 > var2 then ax = 
;else ax = 0
;end if
;------------------------------------------------
__vbaVarTstGe ;关系运算 >=

lea eax,var1
push eax ;变量1
lea eax,var2
push eax ;变量2
call __vbaVarTstGe ;if var1 >= var2 then ax = 
;else ax = 0
;end if
;------------------------------------------------
__vbaVarTstEq ;关系运算 =

lea eax,var1
push eax ;变量1
lea eax,var2
push eax ;变量2
call __vbaVarTstEq ;if var1 = var2 then ax = 
;else ax = 0
;end if 
;------------------------------------------------
__vbaVarTstNe ;关系运算 <>

lea eax,var1
push eax ;变量1
lea eax,var2
push eax ;变量2
call __vbaVarTstNe ;if var1 <> var2 then ax = 
;else ax = 0
;end if 
;------------------------------------------------
__vbaVarTstLt ;关系运算 <

lea eax,var1
push eax ;变量1
lea eax,var2
push eax ;变量2
call __vbaVarTstLt ;if var1 < var2 then ax = 
;else ax = 0
;end if 
;------------------------------------------------
__vbaVarTstLe ;关系运算 <=

lea eax,var1
push eax ;变量1
lea eax,var2
push eax ;变量2
call __vbaVarTstLe ;if var1 <= var2 then ax = 
;else ax = 0
;end if 
;------------------------------------------------ 
__vbaVarAnd ;逻辑运算 And

lea eax,var1
push eax ;变量1
lea ecx,var2
push ecx ;变量2
lea edx,var3
push edx ;结果
call __vbaVarAnd ;逻辑运算,在eax中返回
;------------------------------------------------
__vbaVarOr ;逻辑运算 Or

lea eax,var1
push eax ;变量1
lea ecx,var2
push ecx ;变量2
lea edx,var3
push edx ;结果
call __vbaVarOr ;逻辑运算,在eax中返回
;------------------------------------------------
__vbaVarXor ;逻辑运算 Xor

lea eax,var1
push eax ;变量1
lea ecx,var2
push ecx ;变量2
lea edx,var3
push edx ;结果
call __vbaVarXor ;逻辑运算,在eax中返回
;------------------------------------------------
__vbaVarEqv ;逻辑运算 Eqv

lea eax,var1
push eax ;变量1
lea ecx,var2
push ecx ;变量2
lea edx,var3
push edx ;结果
call __vbaVarEqv ;逻辑运算,在eax中返回
;------------------------------------------------
__vbaVarImp ;逻辑运算 Imp

lea eax,var1
push eax ;变量1
lea ecx,var2
push ecx ;变量2
lea edx,var3
push edx ;结果
call __vbaVarImp ;逻辑运算,在eax中返回
;------------------------------------------------
__vbaVarNot ;逻辑运算 Not

lea eax,var1
push eax ;变量1
lea ecx,var2
push ecx ;结果
call __vbaVarNot ;逻辑运算,在eax中返回
;------------------------------------------------
;------------------------------------------------下面是函数
lea eax,var1 ;函数 Abs(num)
push eax ;参数1 数值型
lea ecx,var2
push ecx ;结果
call __vbaVarAbs ;在eax中返回 结果
;------------------------------------------------
rtcAnsiValueBstr ;函数 Asc(string)

lea eax,var1
push eax ;参数1 字符串型
call rtcAnsiValueBstr ;结果在eax中返回 interger
;------------------------------------------------
MSVBVM60.#585 ;函数 Atn(num)

push ecx ;参数 浮点数,用8个字节
push ecx
CALL MSVBVM60.#585 ;结果在浮点栈中返回
;------------------------------------------------
rtcVarBstrFromAnsi ;函数 Chr(interger)

push eax ;参数1 整型
call rtcVarBstrFromAnsi ;结果在eax中返回 string
;------------------------------------------------
rtcCommandVar ;函数 Command() #670

push eax ;参数1 字符串
call rtcCommandVar ;结果在eax中返回 string
;------------------------------------------------
rtcCos ;函数 Cos(num) #583

call rtcCos ;输入参数在当前栈顶,8个字节,注意是浮点型
fstp st ;结果在浮点栈顶
;------------------------------------------------
rtcCurrentDir ;函数 curdir(string) #647

lea eax,var1 ;参数1 字符串
push eax
lea edx,var2 ;结果
push edx
call rtcCurrentDir ;结果在eax中返回
;-------------------------------------------------
rtcGetDateVar ;函数 Date #610

lea edx,var1 ;结果
push edx
call rtcGetDateVar ;结果在eax中返回,日期型(Date)
;-------------------------------------------------
rtcDateAdd ;函数 DateAdd(string,double,date) #661

push date ;8字节日期date
push double ;8字节浮点数double
push string ;1字节字符的ASCII码,这里是地址
push var1 ;结果,日期型(date)
call rtcDateAdd ;结果在eax中返回,日期型(Date)
;--------------------------------------------------
rtcDateDiff ;函数 DateDiff(string,date1,date2,...,...) #662

push 1 ;默认值
push 1 ;默认值
lea eax,var1 ;日期2
push eax
lea ecx,var2 ;日期1
push ecx
lea edx,var3 ;字符串
push edx
lea eax,var4 ;结果
push eax
call rtcDateDiff ;结果在eax中返回,长整型(long)
;---------------------------------------------------
rtcDatePart ;函数 DatePart(string,date,...,...) #663

push 1 ;默认值
push 1 ;默认值
lea eax,var1 ;日期
push eax
lea ecx,var2 ;字符串
push ecx
lea edx,var3 ;结果
push edx
call rtcDatePart ;结果在eax中返回
;----------------------------------------------------
rtcPackDate ;函数 DateSerial(integer,integer,integer) #538

lea eax,var1 ;日
push eax
lea ecx,var2 ;月
push ecx
lea edx,var3 ;年
push edx
lea eax,var4 ;结果
push eax
call rtcPackDate ;结果在eax中返回,日期型(Date)
;-----------------------------------------------------
rtcGetDateValue ;函数 DateValue(string)

lea eax,var1 ;字符串
push eax
lea edx,var2 ;结果
push edx
call rtcGetDateValue ;结果在eax中返回,日期型(Date)
;-----------------------------------------------------
rtcGetDayOfMonth ;函数 Day(date) #542

lea eax,var1 ;日期
push eax
lea ecx,var2 ;结果
push ecx
call rtcGetDayOfMonth ;结果在eax中返回,整型
;-----------------------------------------------------
rtcDir ;函数 Dir #645

lea eax, var1 ;属性
push eax
lea ecx,var2 ;路径
push ecx
call rtcDir ;结果在eax中返回,字符串型(string)
;-----------------------------------------------------
rtcExp ;函数 exp #586

LEA EDX,DWORD PTR SS:[EBP-24] ;参数 
PUSH EDX 
CALL DWORD PTR DS:[<&MSVBVM60.__vbaR8Var>] ;转换成浮点数,结果在浮点寄存器里
SUB ESP,8 
FSTP QWORD PTR SS:[ESP] ;压入堆栈 
CALL DWORD PTR DS:[<&MSVBVM60.#586>] ;rtcExp 
FSTP QWORD PTR SS:[EBP-2C] ;结果存入堆栈 
;----------------------------------------------------- 
rtcFileDateTime ;函数 FileDateTime #577

LEA EDX,DWORD PTR SS:[EBP-34] 
PUSH 工程1.004016B0 ;文件名 
PUSH EDX ;结果 
CALL DWORD PTR DS:[<&MSVBVM60.#577>] ;rtcFileDateTime
;调用后结果同时在eax中
;------------------------------------------------------
rtcFileLen ;函数 FileLen #578

PUSH 工程1.004016B0 ;文件名 
CALL DWORD PTR DS:[<&MSVBVM60.#578>] ;rtcFileLen
;结果在eax中
;------------------------------------------------------
__vbaVarFix ;函数Fix(参数1)

LEA EDX,DWORD PTR SS:[EBP-24] 
LEA EAX,DWORD PTR SS:[EBP-54] 
PUSH EDX ;参数1 
PUSH EAX ;返回的结果 
CALL DWORD PTR DS:[<&MSVBVM60.__vbaVarFix>]
MOV EDX,EAX 
;------------------------------------------------------
rtcHexVarFromVar ;函数 Hex(num)

lea eax,var1
push eax ;参数1 数值型
lea ecx,var2
push ecx ;存放结果的参数
call rtcHexVarFromVar ;在eax中返回string
;------------------------------------------------------
rtcGetHourOfDay ;函数 Hour #543

LEA EAX,DWORD PTR SS:[EBP-34] ;时间日期型参数 
LEA ECX,DWORD PTR SS:[EBP-44] ;存放结果的参数 
PUSH EAX 
PUSH ECX 
CALL DWORD PTR DS:[<&MSVBVM60.#543>] ;Hour
;结果同时在eax中返回
;------------------------------------------------------
rtcImmediateIf iif(参数1,参数2,参数3)

LEA EDX,DWORD PTR SS:[EBP-54] ;参数3 
LEA EAX,DWORD PTR SS:[EBP-44] ;参数2 
PUSH EDX 
LEA ECX,DWORD PTR SS:[EBP-34] ;参数1,即表达式 
PUSH EAX 
LEA EDX,DWORD PTR SS:[EBP-64] ;存放结果的参数 
PUSH ECX 
PUSH EDX 
MOV DWORD PTR SS:[EBP-2C],-1 
MOV DWORD PTR SS:[EBP-34],0B 
CALL DWORD PTR DS:[<&MSVBVM60.#681>] ;iif
;结果同时在eax中返回
;------------------------------------------------------
__vbaInStrVar ;函数 InStr(起始位置,源字符串,目标字符串,比较方式)

LEA EDX,DWORD PTR SS:[EBP-24] 
PUSH 1 ;起始位置,从1开始 
LEA EAX,DWORD PTR SS:[EBP-34] 
PUSH EDX ;被搜索的字符串 
PUSH EAX ;要搜的字符串 
LEA ECX,DWORD PTR SS:[EBP-54] 
PUSH 1 ;比较方式 
PUSH ECX ;返回的结果 
CALL DWORD PTR DS:[<&MSVBVM60.__vbaInStrVar>]
MOV EDX,EAX ;结果同时在eax中返回
;------------------------------------------------------
rtcInStrRev ;函数 InStrRev(源字符串,目标字符串,起始位置,比较方式) #709

XOR ESI,ESI
PUSH ESI ;比较方式 
PUSH -1 ;起始位置 
LEA EAX,DWORD PTR SS:[EBP-4C] 
LEA ECX,DWORD PTR SS:[EBP-24] 
PUSH EAX ;目标字符串 
LEA EDX,DWORD PTR SS:[EBP-48] 
PUSH ECX ;源字符串 
PUSH EDX ;返回的结果 
CALL DWORD PTR DS:[<&MSVBVM60.#709>] ;rtcInStrRev
;结果同时在eax中返回
;结果同时在eax中返回
;------------------------------------------------------
__vbaVarInt ;函数 Int(参数1)

LEA ECX,DWORD PTR SS:[EBP-24] 
LEA EDX,DWORD PTR SS:[EBP-54] 
PUSH ECX ;参数1 
PUSH EDX ;返回的结果 
CALL DWORD PTR DS:[<&MSVBVM60.__vbaVarInt>]
MOV EDX,EAX ;结果同时在eax中返回
;------------------------------------------------------ 
rtcIsArray ;函数 IsArray #556
LEA EAX,DWORD PTR SS:[EBP-2C] ;参数1 **这是指针
PUSH EAX
CALL DWORD PTR DS:[<&MSVBVM60.#556>] ; MSVBVM60.rtcIsArray
;结果在eax中返回
;------------------------------------------------------
rtcIsDate ;函数 IsDate #557

LEA EAX,DWORD PTR SS:[EBP-2C] ;参数1 **这是指针
PUSH EAX
CALL DWORD PTR DS:[<&MSVBVM60.#557>]; MSVBVM60.rtcIsDate
;结果在eax中返回
;------------------------------------------------------
rtcIsEmpty ;函数 IsEmpty #558

LEA EAX,DWORD PTR SS:[EBP-2C] ;参数1 **这是指针
PUSH EAX 
CALL DWORD PTR DS:[<&MSVBVM60.#558>] ; MSVBVM60.rtcIsEmpty
;结果在eax中返回
;------------------------------------------------------
rtcIsError ;函数 IsError #559

LEA EAX,DWORD PTR SS:[EBP-2C] ;参数1 **这是指针
PUSH EAX
CALL DWORD PTR DS:[<&MSVBVM60.#559>] ; MSVBVM60.rtcIsError
;结果在eax中返回
;------------------------------------------------------
rtcIsMissing ;函数 IsMissing #592

LEA EAX,DWORD PTR SS:[EBP-2C] ;参数1 **这是指针
PUSH EAX
CALL DWORD PTR DS:[<&MSVBVM60.#592>] ; MSVBVM60.rtcIsMissing
;结果在eax中返回
;------------------------------------------------------
rtcIsNull ;函数 IsNull #560

LEA EAX,DWORD PTR SS:[EBP-2C] ;参数1 **这是指针
PUSH EAX
CALL DWORD PTR DS:[<&MSVBVM60.#560>] ;MSVBVM60.rtcIsNull
;结果在eax中返回
;------------------------------------------------------
rtcIsNumeric ;函数 IsNumeric #561

LEA EAX,DWORD PTR SS:[EBP-2C] ;参数1 **这里指针
PUSH EAX
CALL DWORD PTR DS:[<&MSVBVM60.#561>];MSVBVM60.rtcIsNumeric
;结果在eax中返回
;------------------------------------------------------
rtcIsObject ;函数 IsObject #562

LEA EAX,DWORD PTR SS:[EBP-2C]
PUSH EAX
CALL DWORD PTR DS:[<&MSVBVM60.#562>] ;MSVBVM60.rtcIsObject
;结果在eax中返回
;------------------------------------------------------
__vbaLbound ;函数 Lbound

LEA EAX,DWORD PTR SS:[EBP-2C] ;参数1,数组
PUSH EAX
PUSH 1 ;参数2,数组维数
CALL DWORD PTR DS:[<&MSVBVM60.__vbaLboun>; MSVBVM60.__vbaLbound
;结果在eax中返回
;------------------------------------------------------
rtcLowerCaseVar ;函数 Lcase #518

LEA EDX,DWORD PTR SS:[EBP-24] ;参数1
LEA EAX,DWORD PTR SS:[EBP-48] ;结果
PUSH EDX
PUSH EAX
CALL DWORD PTR DS:[<&MSVBVM60.#518>] ;MSVBVM60.rtcLowerCaseVar
;结果在eax中返回
;------------------------------------------------------
rtcLeftCharVar ;函数 Left #617

LEA EDX,DWORD PTR SS:[EBP-24] ;参数1
PUSH 3 ;参数2
LEA EAX,DWORD PTR SS:[EBP-48] ;结果
PUSH EDX
PUSH EAX
CALL DWORD PTR DS:[<&MSVBVM60.#617>];MSVBVM60.rtcLeftCharVar
;结果在eax中返回
;------------------------------------------------------
__vbaLenBstr ;函数 Len

MOV EDX,DWORD PTR SS:[EBP-18] ;参数1
PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.__vbaLenBs>; MSVBVM60.__vbaLenBstr
;结果在eax中返回
;------------------------------------------------------
__vbaLenBstrB ;函数 LenB

MOV EAX,DWORD PTR SS:[EBP-18] ;参数1
PUSH EAX
CALL DWORD PTR DS:[<&MSVBVM60.__vbaLenBs>; MSVBVM60.__vbaLenBstrB
;结果在eax中返回
;------------------------------------------------------
rtcLog ;函数 Log #587

LEA EDX,DWORD PTR SS:[EBP-38] ;要作为参数的变量
PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.__vbaR8Var> ;转换成实数,结果在浮点栈中
SUB ESP,8
FSTP QWORD PTR SS:[ESP] ;参数入栈
CALL DWORD PTR DS:[<&MSVBVM60.#587>] ; MSVBVM60.rtcLog
;结果在浮点栈中
;------------------------------------------------------
rtcLeftTrimVar ;函数 Ltrim #522

LEA ECX,DWORD PTR SS:[EBP-68] ;参数1
LEA EDX,DWORD PTR SS:[EBP-58] ;结果
PUSH ECX
PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.#522>] ; MSVBVM60.rtcLeftTrimVar
;结果在eax中返回
;------------------------------------------------------
rtcMidCharVar ;函数 Mid

PUSH EAX ;参数3
LEA ECX,DWORD PTR SS:[EBP-58]
PUSH 3 ;参数2
LEA EDX,DWORD PTR SS:[EBP-48]
PUSH ECX ;参数1
PUSH EDX ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#632>];MSVBVM60.rtcMidCharVar
;结果在eax中返回
;------------------------------------------------------
rtcGetMinuteOfHour ;函数 Minute #544

LEA EAX,DWORD PTR SS:[EBP-24] ;参数1
LEA ECX,DWORD PTR SS:[EBP-64] ;结果
PUSH EAX
PUSH ECX
CALL DWORD PTR DS:[<&MSVBVM60.#544>] ;MSVBVM60.rtcGetMinuteOfHour
;结果在eax中返回
;------------------------------------------------------
rtcGetMonthOfYear ;函数 Month #545

LEA EDX,DWORD PTR SS:[EBP-24] ;参数1
LEA EAX,DWORD PTR SS:[EBP-64] ;结果
PUSH EDX
PUSH EAX
CALL DWORD PTR DS:[<&MSVBVM60.#545>] ;MSVBVM60.rtcGetMonthOfYear
;结果在eax中返回
;------------------------------------------------------
rtcMonthName ;函数 MonthName #707

PUSH EAX ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#707>] ;MSVBVM60.rtcMonthName
;结果在eax中返回
;------------------------------------------------------
rtcMsgBox ;函数 MsgBox

LEA EAX,DWORD PTR SS:[EBP-64]
LEA ECX,DWORD PTR SS:[EBP-54]
PUSH EAX ;参数5
LEA EDX,DWORD PTR SS:[EBP-34]
PUSH ECX ;参数4
PUSH EDX ;参数3
LEA EAX,DWORD PTR SS:[EBP-24]
PUSH ESI ;参数2
PUSH EAX ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#595>]; MSVBVM60.rtcMsgBox
;结果在eax中返回
;------------------------------------------------------
rtcGetPresentDate ;函数 Now #546

LEA EDX,DWORD PTR SS:[EBP-34] ;存放结果的参数
PUSH EDX ; 
CALL DWORD PTR DS:[<&MSVBVM60.#546>] ;Now
;结果同时在eax中返回
;------------------------------------------------------
rtcOctVarFromVar ;函数 Oct(num)

lea eax,var1
push eax ;参数1 数值型
lea ecx,var2
push ecx ;结果
call rtcOctVarFromVar ;在eax中返回string
;------------------------------------------------------
rtcReplace ;函数 Replace #712

PUSH ESI ;参数6
PUSH -1 ;参数5
PUSH 1 ;参数4
LEA EAX,DWORD PTR SS:[EBP-60]
PUSH EAX ;参数3
LEA EDX,DWORD PTR SS:[EBP-5C]
PUSH EDX ;参数2
LEA EAX,DWORD PTR SS:[EBP-24]
PUSH EAX ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#712>]; MSVBVM60.rtcReplace
;结果在eax中返回
;-----------------------------------------------------
rtcRgb ;函数 #588

PUSH 28 ;参数3
PUSH 1E ;参数2
PUSH 14 ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#588>]; MSVBVM60.rtcRgb
;结果在eax中返回
;-----------------------------------------------------
rtcRightCharVar ;函数Right #619

LEA EDX,DWORD PTR SS:[EBP-24]
PUSH 3 ;参数2
LEA EAX,DWORD PTR SS:[EBP-44]
PUSH EDX ;参数1
PUSH EAX ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#619>];MSVBVM60.rtcRightCharVar
;结果在eax中返回
;-----------------------------------------------------
rtcRound ;函数 Round #714

LEA EDX,DWORD PTR SS:[EBP-24]
PUSH EDI ;参数2
LEA EAX,DWORD PTR SS:[EBP-44]
PUSH EDX ;参数1
PUSH EAX ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#714>] ;MSVBVM60.rtcRound
;结果在eax中返回
;-----------------------------------------------------
rtcRandomize ;函数 Randomize #594

LEA EDX,DWORD PTR SS:[EBP-34]
PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.#594>] ; MSVBVM60.rtcRandomize
;-----------------------------------------------------
rtcRandomNext ;函数 Rnd #593

LEA EAX,DWORD PTR SS:[EBP-34]
PUSH EAX ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#593>] ; MSVBVM60.rtcRandomNext
;结果在浮点栈中
;-----------------------------------------------------
rtcRightTrimVar ;函数 Rtrim #524

LEA ECX,DWORD PTR SS:[EBP-68] ;参数1
LEA EDX,DWORD PTR SS:[EBP-58] ;结果
PUSH ECX
PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.#524>] ; MSVBVM60.rtcRightTrimVar
;结果在eax中返回
;-----------------------------------------------------
rtcGetSecondOfMinute ;函数 Sound #547

LEA EAX,DWORD PTR SS:[EBP-24] ;参数1
LEA ECX,DWORD PTR SS:[EBP-44] ;结果
PUSH EAX
PUSH ECX
CALL DWORD PTR DS:[<&MSVBVM60.#547>];MSVBVM60.rtcGetSecondOfMinute
;结果在eax中返回
;-----------------------------------------------------
__vbaR8Sgn ;函数 Sgn

PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.__vbaR8Var>;MSVBVM60.__vbaR8Var
SUB ESP,8
FSTP QWORD PTR SS:[ESP] ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.__vbaR8Sgn>;MSVBVM60.__vbaR8Sgn
;结果在ax中返回
;-----------------------------------------------------
rtcShell ;函数 Shell #600

PUSH 1 ;参数2
PUSH EDX ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#600>];MSVBVM60.rtcShell
;结果在浮点栈中
;-----------------------------------------------------
rtcSin ;函数 Sin #582

LEA EDX,DWORD PTR SS:[EBP-24]
PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.__vbaR8Var>;MSVBVM60.__vbaR8Var
SUB ESP,8
FSTP QWORD PTR SS:[ESP] ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#582>] ;MSVBVM60.rtcSin
;结果在浮点栈中
;-----------------------------------------------------
rtcSpaceVar ;函数 Space #526

PUSH 5 ;参数1
LEA EDX,DWORD PTR SS:[EBP-34]
PUSH EDX ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#526>]; MSVBVM60.rtcSpaceVar
;结果在eax中返回
;-----------------------------------------------------
rtcSplit ;函数 Split #711

PUSH ESI ;参数4
LEA EDX,DWORD PTR SS:[EBP-48]
PUSH -1 ;参数3
LEA EAX,DWORD PTR SS:[EBP-24]
PUSH EDX ;参数2
LEA ECX,DWORD PTR SS:[EBP-38]
LEA EDX,DWORD PTR SS:[EBP-58]
PUSH EAX ;参数1
PUSH EDX ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#711>] ;MSVBVM60.rtcSplit
;结果在eax中返回
;-----------------------------------------------------
rtcSqr ;函数 rtcSqr #614

LEA EDX,DWORD PTR SS:[EBP-24]
PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.__vbaR8Var>;MSVBVM60.__vbaR8Var
SUB ESP,8
FSTP QWORD PTR SS:[ESP] ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#614>] ;MSVBVM60.rtcSqr
;结果在浮点栈中
;-----------------------------------------------------
rtcVarStrFromVar ;函数 Str #613

LEA EDX,DWORD PTR SS:[EBP-24]
LEA EAX,DWORD PTR SS:[EBP-44]
PUSH EDX ;参数1
PUSH EAX ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#613>] ;MSVBVM60.rtcVarStrFromVar
;结果在eax中返回
;-----------------------------------------------------
__vbaStrCompVar ;函数 StrComp

LEA EDX,DWORD PTR SS:[EBP-24] 
LEA EAX,DWORD PTR SS:[EBP-34] 
PUSH EDX ;参数1
PUSH EAX ;参数2
LEA ECX,DWORD PTR SS:[EBP-54]
PUSH EDI ;参数3
PUSH ECX ;结果
CALL DWORD PTR DS:[<&MSVBVM60.__vbaStrCo>;MSVBVM60.__vbaStrCompVar
;结果在eax中返回
;-----------------------------------------------------
rtcStrConvVar2 ;函数 Strconv #717

PUSH EDI ;参数3
LEA EDX,DWORD PTR SS:[EBP-24]
PUSH 1 ;参数2
LEA EAX,DWORD PTR SS:[EBP-44]
PUSH EDX ;参数1
PUSH EAX ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#717>]; MSVBVM60.rtcStrConvVar2
;结果在eax中返回
;-----------------------------------------------------
rtcStringVar ;函数 String

LEA EDX,DWORD PTR SS:[EBP-24]
LEA EAX,DWORD PTR SS:[EBP-44]
PUSH EDX ;参数2
PUSH 5 ;参数1
PUSH EAX ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#607>];MSVBVM60.rtcStringVar
;结果在eax中返回
;-----------------------------------------------------
rtcStrReverse ;函数 StrReverse #713

LEA EAX,DWORD PTR SS:[EBP-38] 
PUSH EAX ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#713>] ;MSVBVM60.rtcStrReverse
;结果在eax中返回
;-----------------------------------------------------
rtcTan ;函数 Tan #584

LEA EDX,DWORD PTR SS:[EBP-24]
PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.__vbaR8Var>;MSVBVM60.__vbaR8Var
SUB ESP,8
FSTP QWORD PTR SS:[ESP] ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#584>] ;MSVBVM60.rtcTan
;结果在浮点栈中返回
;-----------------------------------------------------
rtcGetTimeVar ;函数 Time #612

LEA EDX,DWORD PTR SS:[EBP-34]
PUSH EDX ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#612>];MSVBVM60.rtcGetTimeVar
;结果在eax中返回
-------------------------------------------------------
rtcGetTimer ;函数 Timer #535

CALL DWORD PTR DS:[<&MSVBVM60.#535>] ; MSVBVM60.rtcGetTimer
;结果在浮点栈中返回
;-----------------------------------------------------
rtcPackTime ;函数 TimeSerial #539

LEA EDX,DWORD PTR SS:[EBP-44]
PUSH EDX ;参数3
LEA EAX,DWORD PTR SS:[EBP-34]
PUSH EAX ;参数2
LEA ECX,DWORD PTR SS:[EBP-24]
PUSH ECX ;参数1
LEA EDX,DWORD PTR SS:[EBP-64]
PUSH EDX ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#539>] ;MSVBVM60.rtcPackTime
;结果在eax中返回
-------------------------------------------------------
rtcGetTimeValue ;函数 TimeValue #541

LEA EAX,DWORD PTR SS:[EBP-38]
LEA ECX,DWORD PTR SS:[EBP-48]
PUSH EAX ;参数1
PUSH ECX ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#541>] ;MSVBVM60.rtcGetTimeValue
;结果在eax中返回
-------------------------------------------------------
rtcTrimVar ;函数 Trim #520

LEA ECX,DWORD PTR SS:[EBP-68] ;参数1
LEA EDX,DWORD PTR SS:[EBP-58] ;结果
PUSH ECX
PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.#520>] ; MSVBVM60.rtcTrimVar
;结果在eax中返回
-------------------------------------------------------
rtcTypeName ;函数 TypeName #591

LEA EDX,DWORD PTR SS:[EBP-24]
PUSH EDX ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#591>];MSVBVM60.rtcTypeName
;结果在eax中返回
------------------------------------------------------- 
__vbaUbound ;函数 Ubound

LEA ECX,DWORD PTR SS:[EBP-2C] ;参数1,数组
PUSH ECX
PUSH 1 ;参数2,数组维数
CALL DWORD PTR DS:[<&MSVBVM60.__vbaUboun>;MSVBVM60.__vbaUbound
;结果在eax中返回
;------------------------------------------------------
rtcUpperCaseVar ;函数 Ucase

LEA ECX,DWORD PTR SS:[EBP-24] ;参数1
LEA EDX,DWORD PTR SS:[EBP-48] ;结果
PUSH ECX
PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.#528>] ;MSVBVM60.rtcUpperCaseVar
;结果在eax中返回
;------------------------------------------------------
rtcR8ValFromBstr ;函数 Val #581

LEA EAX,DWORD PTR SS:[EBP-38]
PUSH EAX ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#581>];MSVBVM60.rtcR8ValFromBstr
;结果在浮点栈中
;-----------------------------------------------------
rtcVarType ;函数 VarType #563

LEA EDX,DWORD PTR SS:[EBP-24]
PUSH EDX ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#563>];MSVBVM60.rtcVarType
;结果在eax中
;-----------------------------------------------------
rtcWeekdayName ;函数 WeekdayName #706

PUSH EDI
LEA EDX,DWORD PTR SS:[EBP-24]
PUSH EDI
PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.#706>];MSVBVM60.rtcWeekdayName
;结果在eax中
;-----------------------------------------------------
rtcGetYear ;函数 Year #553

LEA EAX,DWORD PTR SS:[EBP-24]
LEA ECX,DWORD PTR SS:[EBP-44]
PUSH EAX ;参数1
PUSH ECX ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#553>];MSVBVM60.rtcGetYear
;结果在eax中
;-----------------------------------------------------
__vbaBoolErrVar ;函数 CBool

LEA EDX,DWORD PTR SS:[EBP-74]
PUSH EDX ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.__vbaBoolE>; MSVBVM60.__vbaBoolErrVar
;结果在ax中
;-----------------------------------------------------
__vbaUI1ErrVar ;函数 Cbyte

LEA EAX,DWORD PTR SS:[EBP-74]
PUSH EAX ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.__vbaUI1Er>; MSVBVM60.__vbaUI1ErrVar
;结果在al中
;-----------------------------------------------------
__vbaCyErrVar ;函数 Ccur

LEA ECX,DWORD PTR SS:[EBP-74]
PUSH ECX ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.__vbaCyErr>; MSVBVM60.__vbaCyErrVar
;结果在eax中
;-----------------------------------------------------
__vbaDateVar ;函数 Cdate

LEA EDX,DWORD PTR SS:[EBP-74]
PUSH EDX ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.__vbaDateV>; MSVBVM60.__vbaDateVar
SUB ESP,8
FSTP QWORD PTR SS:[ESP]
CALL DWORD PTR DS:[<&MSVBVM60.__vbaDateR>; MSVBVM60.__vbaDateR8
;结果在浮点栈中
;-----------------------------------------------------
__vbaR8ErrVar ;函数 Cdbl

LEA EAX,DWORD PTR SS:[EBP-74]
PUSH EAX ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.__vbaR8Err>; MSVBVM60.__vbaR8ErrVar
;结果在浮点栈中
;-----------------------------------------------------
rtDecFromVar ;函数 Cdec #564

LEA ECX,DWORD PTR SS:[EBP-F4]
LEA EDX,DWORD PTR SS:[EBP-74]
PUSH ECX ;参数1
PUSH EDX ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#564>] ; MSVBVM60.rtDecFromVar
;结果在eax中
;-----------------------------------------------------
__vbaI2ErrVar ;函数 Cint

LEA EAX,DWORD PTR SS:[EBP-74]
PUSH EAX ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.__vbaI2Err>; MSVBVM60.__vbaI2ErrVar
;结果在ax中
;-----------------------------------------------------
__vbaI4ErrVar ;函数 Clng

LEA ECX,DWORD PTR SS:[EBP-74]
PUSH ECX ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.__vbaI4Err>; MSVBVM60.__vbaI4ErrVar
;结果在eax中
;-----------------------------------------------------
__vbaR4ErrVar ;函数 Csng

LEA EDX,DWORD PTR SS:[EBP-74]
PUSH EDX ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.__vbaR4Err>; MSVBVM60.__vbaR4ErrVar
;结果在浮点栈中
;-----------------------------------------------------
__vbaStrErrVarCopy ;函数 Cstr

LEA EAX,DWORD PTR SS:[EBP-74]
PUSH EAX ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.__vbaStrEr>; MSVBVM60.__vbaStrErrVarCopy
;结果在eax中
;-----------------------------------------------------
__vbaVarCopy ;函数 Cvar

LEA EDX,DWORD PTR SS:[EBP-74] ;参数1
LEA ECX,DWORD PTR SS:[EBP-54] ;结果
CALL DWORD PTR DS:[<&MSVBVM60.__vbaVarCo>; MSVBVM60.__vbaVarCopy
;结果在eax中
;-----------------------------------------------------
__vbaFileOpen ;Open语句

PUSH 工程1.004014C0 ;文件名
PUSH 1 ;文件号
PUSH 1 ;len
PUSH 320 ;for,access,lock
CALL DWORD PTR DS:[<&MSVBVM60.__vbaFileO>; MSVBVM60.__vbaFileOpen
;------------------------------------------------------
__vbaFileClose ;Close语句

PUSH 1 ;文件号
CALL DWORD PTR DS:[<&MSVBVM60.__vbaFileC>; MSVBVM60.__vbaFileClose
;------------------------------------------------------
rtcFreeFile ;函数 FreeFile

LEA EAX,DWORD PTR SS:[EBP-34]
PUSH EAX ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#648>]; MSVBVM60.rtcFreeFile
;结果在ax中
;------------------------------------------------------
rtcFileLength ;函数 LOF #570

LEA EDX,DWORD PTR SS:[EBP-34]
PUSH EDX ;文件号
CALL DWORD PTR DS:[<&MSVBVM60.#570>]; MSVBVM60.rtcFileLength
;结果在eax中
;------------------------------------------------------
rtcFileLocation ;函数 loc #569

LEA EAX,DWORD PTR SS:[EBP-34]
PUSH EAX ;文件号
CALL DWORD PTR DS:[<&MSVBVM60.#569>]; MSVBVM60.rtcFileLocation
;结果在eax中
;------------------------------------------------------
rtcFileAttributes ;函数 FileAttr #555

LEA ECX,DWORD PTR SS:[EBP-34]
PUSH 1 ;属性
PUSH ECX ;文件号
CALL DWORD PTR DS:[<&MSVBVM60.#555>]; MSVBVM60.rtcFileAttributes
;结果在eax中
;------------------------------------------------------
__vbaPrintFile ;Print #文件号,变量 (顺序文件操作)

LEA EAX,DWORD PTR SS:[EBP-24]
LEA ECX,DWORD PTR SS:[EBP-34]
PUSH ECX ;变量
PUSH EAX ;文件号
PUSH 工程1.00401948
CALL DWORD PTR DS:[<&MSVBVM60.__vbaPrint>;MSVBVM60.__vbaPrintFile
;-----------------------------------------------------
__vbaWriteFile ;write #文件号,变量 (顺序文件操作)

LEA EDX,DWORD PTR SS:[EBP-24]
LEA EAX,DWORD PTR SS:[EBP-34]
PUSH EDX ;变量
PUSH EAX ;文件号
PUSH 工程1.00401948
CALL DWORD PTR DS:[<&MSVBVM60.__vbaWrite>;MSVBVM60.__vbaWriteFile
;-----------------------------------------------------
__vbaInputFile ;input #文件号,变量 (顺序文件操作)

LEA EAX,DWORD PTR SS:[EBP-24]
LEA ECX,DWORD PTR SS:[EBP-34]
PUSH EAX ;变量
PUSH ECX ;文件号
PUSH 工程1.00401938
CALL DWORD PTR DS:[<&MSVBVM60.__vbaInput>; MSVBVM60.__vbaInputFile
;-----------------------------------------------------
__vbaLineInputVar ;line input #文件号,变量 (顺序文件操作)

LEA EDX,DWORD PTR SS:[EBP-34]
PUSH EDX ;文件号
LEA EAX,DWORD PTR SS:[EBP-44]
PUSH EAX ;变量
CALL DWORD PTR DS:[<&MSVBVM60.__vbaLineI>; MSVBVM60.__vbaLineInputVar
;结果在eax中返回
;-----------------------------------------------------
rtcInputCharCountVar ;函数 input(#文件号,长度) #621 (顺序文件操作)

LEA ECX,DWORD PTR SS:[EBP-34]
PUSH ECX ;文件号
LEA EDX,DWORD PTR SS:[EBP-64]
PUSH 2 ;长度
PUSH EDX ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#621>]; MSVBVM60.rtcInputCharCountVar
;结果在eax中返回
;-----------------------------------------------------
__vbaPut4 ;语句 Put 文件号,位置,变量 (binary文件操作)

LEA EAX,DWORD PTR SS:[EBP-34] 
PUSH EAX ;文件号 
LEA ECX,DWORD PTR SS:[EBP-24] 
PUSH 2 ;位置 
PUSH ECX ;变量 
PUSH -1 
CALL DWORD PTR DS:[<&MSVBVM60.__vbaPut4>>;MSVBVM60.__vbaPut4
;-----------------------------------------------------
__vbaFileSeek ;语句 Seek 文件号,位置 (binary文件操作)

LEA EDX,DWORD PTR SS:[EBP-34]
PUSH EDX ;文件号
PUSH 2 ;位置
CALL DWORD PTR DS:[<&MSVBVM60.__vbaFileS>;MSVBVM60.__vbaFileSeek
;-----------------------------------------------------
__vbaGet4 ;语句 Get 文件号,位置,变量 (binary文件操作)

LEA EAX,DWORD PTR SS:[EBP-34]
PUSH EAX ;文件号
LEA ECX,DWORD PTR SS:[EBP-44]
PUSH 2 ;位置
PUSH ECX ;变量
PUSH -1
CALL DWORD PTR DS:[<&MSVBVM60.__vbaGet4>>;MSVBVM60.__vbaGet4

分享到:
评论

相关推荐

    VB程序——毕业设计

    通过分析和学习这个设计,可以加深对VB编程的理解,同时也能借鉴其中的设计思想和技术实现,为以后的项目开发积累经验。 总的来说,VB程序——毕业设计不仅展示了VB语言的强大功能,也是学习者提升编程技能、实践...

    VB入门——VB神童教程

    **VB入门——VB神童教程** Visual Basic(简称VB)是一种由Microsoft开发的事件驱动编程语言,主要用于构建用户界面友好的应用程序。VB神童教程是一份专为初学者设计的优秀资源,它深入浅出地介绍了VB的基础知识,...

    VB编程——课程设计代码

    "VB编程——课程设计代码"可能包含了一系列这样的项目代码示例,旨在帮助学习者理解和实践VB编程的基本概念和技术。 课程设计的代码通常会涉及以下几个方面: 1. **基本语法与结构**:VB编程的基础包括变量声明、...

    VB教程——从入门到实践

    VB教程——从入门到实践,全书534业,内容丰富,例子齐全,是一部学习VB语言的好书!

    VB语句——赋值、选择.doc

    VB语句——赋值、选择.doc

    时间和时间戳的相互转换函数——VB

    在Visual Basic (VB) 中,可以通过自定义函数实现这样的转换。 ### 时间和时间戳的相互转换函数 #### ToUnixTime 函数:将标准时间转换为Unix时间戳 该函数接收两个参数: - `strTime`:表示需要转换的时间,格式...

    VB6逆向工程浅析

    然而,由于微软官方提供的关于VB6内部实现的资料较少,初学者可能会觉得逆向分析较为困难。但实际上,只要掌握了一些关键的规律,VB6程序的逆向仍然是可以轻松上手的。 #### 逆向基础知识 逆向工程通常涉及以下几...

    vb源码——禁止程序多开

    ### vb源码——禁止程序多开 在软件开发过程中,有时候我们需要限制应用程序只能运行一个实例,以避免资源浪费或逻辑错误。本篇文章将基于提供的VB(Visual Basic)代码示例来详细探讨如何实现这一功能。 #### ...

    VB语句——赋值选择PPT教案学习.pptx

    VB语句——赋值选择PPT教案学习.pptx

    VB函数逆向 msvbvm60.dll代码

    VB函数逆向 msvbvm60.dll代码实现,对于逆向VB来说是一个不错的资源,当你看到一系列头痛而繁杂的系统函数时,这个就派上用场了!

    视频播放器VB源码——简易的核心文件和简单调用

    【标题】"视频播放器VB源码——简易的核心文件和简单调用"涉及的主要知识点是使用Visual Basic(VB)编程语言开发一个基本的视频播放器。VB是一种面向对象的编程环境,适合快速开发桌面应用程序。在这个项目中,我们...

    VB例子——霓虹灯文字滚动

    【VB例子——霓虹灯文字滚动】是一个使用Visual Basic(VB)编程语言创建的实例,展示了如何实现一种视觉效果,让文字如同霓虹灯般在界面上动态滚动。这种效果通常用于吸引用户的注意力或者作为某种交互式的用户界面...

    vb源码——制作飓风浏览器

    【VB源码——制作飓风浏览器】 VB,全称Visual Basic,是Microsoft公司推出的一种面向对象的、事件驱动的编程语言,它以其易学易用的特性在IT领域内广泛应用于开发各种应用程序,包括桌面应用、数据库应用以及网页...

    VB函数大全_基本函数大全.pdf

    VB函数大全_基本函数大全 VB函数大全_基本函数大全是VB编程语言的函数大全,涵盖了大量的基本函数和运算符,涵盖了字符串、数学、日期、时间、数组、对象等多个方面。下面是VB函数大全_基本函数大全中的知识点: 1...

    Visual Basic.NET 函数——黑魔方

    《Visual Basic.NET 函数——黑魔方》 在编程领域,Visual Basic.NET 是一种广泛使用的面向对象的编程语言,尤其适合开发Windows桌面应用程序。本文将深入探讨Visual Basic.NET中的函数,这一关键概念对于理解并...

    VB源码——查找特定位置字符串

    ### VB源码——查找特定位置字符串 #### 功能概述 本段VB代码实现了一个功能:在给定的字符串(`instring`)中查找位于指定前缀(`after`)与后缀(`before`)之间的子字符串。该函数允许用户设定是否从字符串的...

    VB函数.CHM VB函数.CHM

    VB函数.CHM,对于学习VB编程必备的参考书之一.对于其它语言编程的人就免下了.

    VB函数参考大全 函数

    - **内置函数**:VB提供了大量的内置函数,如Math函数用于数学运算,Date函数获取当前日期,String函数创建字符串等。 - **自定义函数**:程序员可以根据需求创建自己的函数,通过Function关键字定义,返回特定值...

    vb程序——图书管理系统

    《VB程序——图书管理系统》是一个基于Visual Basic (VB)开发的软件项目,主要目标是实现对图书信息的有效管理和操作。这个系统通常适用于学校图书馆、小型书店或者个人藏书管理,能够帮助用户进行图书的录入、查询...

Global site tag (gtag.js) - Google Analytics