Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在c中引用FARPROC_C_Windows - Fatal编程技术网

如何在c中引用FARPROC

如何在c中引用FARPROC,c,windows,C,Windows,我需要读取给定win32 API函数中的前4个字节。 如何在c代码中引用FARPROC类型并将其用作普通指针 HMODULE h = GetModuleHandle(L"user32.dll"); FARPROC msgBox = GetProcAddress(h, "MessageBoxA"); 您应该能够将指针直接转换为char指针 unsigned char *code = (unsigned char*)msgBox; 在使用写入之前,您可能必须更改页面保护。您需要读取给定win3

我需要读取给定win32 API函数中的前4个字节。 如何在c代码中引用FARPROC类型并将其用作普通指针

HMODULE h = GetModuleHandle(L"user32.dll");
FARPROC msgBox = GetProcAddress(h, "MessageBoxA");

您应该能够将指针直接转换为char指针

 unsigned char *code = (unsigned char*)msgBox;

在使用

写入之前,您可能必须更改页面保护。您需要读取给定win32 API函数中的前4个字节是什么意思?为什么需要读取这四个字节?你的实际问题是什么?你提出的解决方案背后的原因是什么?那么也许你应该问一下这个问题?当你这么做的时候,请告诉我们你做过什么,告诉我们你是怎么做的。请花点时间阅读,然后。最后,请学习如何创建。这是一个典型的。@SherifMagdy,我认为操作系统不会允许您写入共享库。您熟悉吗?当我说您不能写入共享库时,我的意思是对映射到共享库的虚拟地址调用VirtualProtect将失败。@ajay Brahaksharriya您可以写入共享库,每个进程在其地址空间中都有自己的副本。。。