我有一个指向C语言中__stdcall函数的指针,无论是x86还是x64汇编,我希望有一个asm函数来跳转到该函数。
例如,以Windows API函数MessageBoxW为例。
void *fn = GetProcAddress(GetModuleHandle("kernel32.dll"), MessageBoxW);
然后在C语言中,我会像这样调用汇编:
void foo()
{
MessageBoxW_asmstub(NULL, "test", "test", NULL);
}
假设fn是全局变量。然后在汇编中,我想要一个只转发到MessageBoxW而不调用它的函数。换句话说,我希望MessageBoxW清理传递给MessageBoxW_asmstub的变量,然后返回foo。
jump (fn) ?
我不知道如何做这个。