大家新年好哇~~
本次例子中,我将演示如何定位 MessageBoxA 函数,并以此来使用。
我们先查下MSDN对于它的定义:
MSDN对于它的定义很清楚,OK,拿来稍微修改一下就可以使用了,现在开始写代码:
// MessageBox 原函数
int MessageBox(
HWND hWnd,
LPCTSTR lpText,
LPCTSTR lpCaption,
UINT uType
);
修改成:
//这里改成 MessageBoxA2 是为了防止重复
typedef int (NTAPI *MessageBoxA2)(
HWND hWnd,
LPCSTR lpText,
LPCSTR lpCaption,
UINT uType);
完整代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
typedef int (NTAPI *MessageBoxA2)(
HWND hWnd,
LPCSTR lpText,
LPCSTR lpCaption,
UINT uType);
int main()
{
MessageBoxA2 myFunc;
myFunc = (MessageBoxA2)GetProcAddress(LoadLibraryA("user32.dll"), "MessageBoxA");
myFunc(0, "Hola", " ", MB_OK);
system("pause");
return 0;
}
效果图: