|
本插件让VBS有了直接调用API的能力。比如调用MessageBoxTimeoutA,只需要以下几行代码:
- sub test_call_api_with_6_parameters()
- text=g_vbsext.malloc(20):call g_vbsext.SetPtrStrA(text,"3000毫秒后消失")
- caption=g_vbsext.malloc(20):call g_vbsext.SetPtrStrA(caption,"测试")
- funptr = g_vbsext.GetApiAddr("user32.dll","MessageBoxTimeoutA")
- param = g_vbsext.malloc(6*8)
- call g_vbsext.memset(param,0,6*8)
- call g_vbsext.SetPtrVal8(param+1*8,text)
- call g_vbsext.SetPtrVal8(param+2*8,caption)
- call g_vbsext.SetPtrVal8(param+3*8,3)
- call g_vbsext.SetPtrVal8(param+5*8,3000)
- ret = g_vbsext.CallApi(funptr,param,6)
- call g_vbsext.free(param)
- call g_vbsext.free(text)
- call g_vbsext.free(caption)
- msgbox "MessageBoxTimeoutA返回值:" & hex(ret)
- end sub
复制代码 使用本插件需要一定的X64ASM知识,不懂X64ASM的就不要用了,纯属找虐。
据说32位有类似的玩意,就不重复造轮子了,直接只支持64位系统。 |
|