我hook了一个dll,得到了进程的句柄。我想在 dll 中创建一个函数,并执行它几次。 (我知道如何跳到那里,我的问题是复制) 假设我的函数如下所示:
void Test()
{
PUSH EAX;
POP EAX;
}
我想复制这个,到目标进程的末尾(没有指令,到处都是00),假设地址是0x12345
所以当我调试程序的时候,我想看看
00012345 PUSH EAX
00012346 POP EAX
我尝试使用 memcpy,但它似乎不起作用。 提前致谢。
最佳答案
您将需要说服 Hook 进程加载另一个 DLL,或说服它调用具有写入和执行权限位的 VirtualAlloc
,然后将您的新代码放入 DLL 或将其复制到已分配的内存 - 请记住,您需要将其重新定位到已分配的内存中,将另一个 DLL 注入(inject)进程往往更容易。肯定有很多“骗子”已经这样做了。
关于c++ - 将函数从 Hook 的 dll 复制到进程内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17999547/