将函数从挂起的dll复制到进程内存中

Copying a function from hooked dll into process memory

本文关键字:进程 内存 复制 dll 函数 挂起      更新时间:2023-10-16

我挂接了一个dll,并获得了进程的句柄。我想在dll中创建一个函数,并执行它一些时间。(我知道如何跳到那里,我的问题是复制)假设我的函数看起来像:

void Test()
{
     PUSH EAX;
     POP EAX;
}

我想把这个复制到目标进程的末尾(没有指令,到处都是00),假设地址是0x12345

所以当我调试程序时,我想看看

    00012345    PUSH EAX
    00012346    POP EAX

我试着用memcpy,但似乎不起作用。提前谢谢。

您需要说服挂接的进程加载另一个DLL,或者说服它使用写入+执行权限位调用VirtualAlloc,然后将新代码放入DLL中或复制到分配的内存中-请记住,您需要将其重新定位到分配的存储中,只需将另一个DLL注入进程往往更容易。肯定有相当多的"骗子"已经这样做了。