c++ - 将函数从 Hook 的 dll 复制到进程内存中

标签 c++ push

我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/

相关文章:

c++ - 有条件地从函数返回对象类型

javascript - Angular js,将数据作为参数从 View 传递到 Controller

javascript - 将值插入多维数组

c++ - 构建 cpp-netlib 失败 - 未添加 lib 前缀

c++ - MSVC10 Visual Studio 2010 是否支持基于 C++ 范围的循环

python - SWIG:如何将复杂列表从 C++ 传递到 Python

c - 函数外的值与函数内的值不匹配,C

c++ - macOS 上莫名其妙的 OpenGL 着色器行为

iphone - Apple 推送通知服务器 - 反馈始终返回零元组

iphone - 为通知代理注销设备