`

VB 动态调用 MessageBoxA 的源代码

    博客分类:
  • vb
VB 
阅读更多
'嘿,够简单吧!下面是动态调用MessageBoxA的源代码,上面的步骤被封装到RunDll32函数中,可放到模块(CallAPIbyName.bas)中:
Dim s1() As Byte
Dim
s2() As Byte
Dim
ret As Long
Dim
hProc As Long
Dim
hModule As Long
Sub
t2()
Const hWnd = 0
s1 = StrConv("Hello~World", vbFromUnicode)
s2 = StrConv(
"VBNote", vbFromUnicode)
ret = RunDll32(
"user32", "MessageBoxA", hWnd, VarPtr(s1(0)), VarPtr(s2(0)), 0 &)
End Sub
Public Function
RunDll32(LibFileName As String, ProcName As String, ParamArray Params()) As Long
ReDim
m_OpCode(400 + 6 * UBound(Params)) '保留用来写m_OpCode
'读取API库
hModule = LoadLibrary(ByVal LibFileName)
If hModule = 0 Then
MsgBox "Library读取失败!"
Exit Function
End If
'取得函数地址
hProc = GetProcAddress(hModule, ByVal ProcName)
If hProc = 0 Then
MsgBox "函数读取失败!", vbCritical
FreeLibrary hModule
Exit Function
End If
'执行Assembly Code部分
RunDll32 = CallWindowProc(GetCodeStart(hProc, Params), 0, 1, 2, 3)
FreeLibrary hModule
'释放空间
End Function

 

分享到:
评论

相关推荐

    VB6.0 动态调用API函数实现相碰操作.rar

    VB6.0 动态调用API函数实现相碰操作,比如执行GetPixel、执行OpenProcess、执行MessageBoxA、执行Beep等操作。

    置入代码实现调用MessageBoxA,多参带返回值

    很简单的例子,主要测试传入多参并且带返回值。@taizhong。Tags:置入代码。

    易语言-置入代码实现调用MessageBoxA,多参带返回值

    很简单的例子,主要测试传入多参并且带返回值

    置入代码实现调用MessageBoxA,多参带返回值-易语言

    很简单的例子,主要测试传入多参并且带返回值

    易语言-易语言动态调用DLL函数

    近在眼前-动态调用DLL(两个不同的函数)例程,动态调用MessageBoxA函数,动态调用SendMessageA函数。

    python3 messageboxa

    python3 messageboxa MessageBoxA.py

    C++ 挂钩函数(以MessageBoxA为例)

    本程序可以控制特定函数的运行和返回值等,可以用来做防杀进程等。 本程序的优点: 1. 同时支持g++和Visual Studio 2010以上版本; 2. 同时支持x86操作系统和x64操作系统; 3. 注释非常详细,几乎每一句都有。

    第一个汇编程序-Hello World

    第一个汇编程序-Hello World 调用MessageBoxA弹出对话框

    DELPHI HOOK 钩子 DLL+调用

    DELPHI HOOK 钩子 通过调用API 通过MessageBoxA,MessageBoxW,MessageBoxW,OpenProcess 函数的截取。

    VC6.0实现POST和Get,调用后端WEBAPI接口_MFC版.rar

    CHttpClient HttpRequest; string ret=""; ... ofstream OutFile("C:\\11111111111111.txt"); //利用构造函数创建txt文本,并且打开该文本 ... ::MessageBoxA(NULL,"JSON数据 记事本写入成功" ,"提示",MB_OK);

    SkinMagicTrial.dll2.3破解版

    往下看几行,把MessageBoxA的4个参数都入栈了以后,再下两行就是MessageBoxA函数的调用处了,在:10006192FF150c040510,这里就是调用MessageBoxA的地方.好的,马上用最简单的办法,把这里的入栈的4个参数都用nop给替换掉...

    c#调用外部实例vs2008

    c#调用外部实例vs2008 //[DllImport("user32.dll", EntryPoint = "MessageBoxA")] //static extern int MsgBox(int hWnd, string msg, string caption, int type); //[DllImport("kernel32.dll", EntryPoint = ...

    DllEXP DLL查看器1.36最新版

    此实用工具显示所有导出的函数列表和他们指定的DLL文件的虚拟内存地址。您可以轻松地复制所需函数的内存...被称为盒功能,您的调试要打破在该函数入口点,然后你可以看看调用堆栈,进入代码,发起了这一API调用落后。

    C++ 挂钩函数(以MessageBoxA为例)新版

    本程序可以控制特定函数的运行和返回值等,可以用来做防杀进程等。 本程序的优点: 1. 同时支持g++和Visual Studio 2010以上版本; 2. 同时支持x86操作系统和x64操作系统; 3. 注释非常详细,几乎每一句都有;... 4....

    windows用户称拦截api

    带参数的函数调用的汇编代码是什么样子呢,前面也已经说了,类似与调用MessageBoxA时的代码: PUSH 参数地址 CALL 函数入口地址(这里为一个偏移地址) 执行这2条指令就能跳转到你要拦截的函数了,但是我们该修改成...

    类库hook类库 实现各种类库

    // //调用源函数 // return m_HookMessageBox.CallFunction( 4,0,"hook后",lpCaption,uType ); // } // // //过虑函数 // VOID __cdecl filter( XLIB::CStack_ESP* pStack ) // { // printf("0xx\n",pStack->...

Global site tag (gtag.js) - Google Analytics