在 Windows 中,假设我使用 DLL 注入进入另一个进程。我还对我注入的进程的内存进行了一些屏幕截图,并知道我想要提取的数据的位置。假设另一个进程中 0xaaaaaaaa 处有包含特定值的数据。如何从该过程中获取这个值,以便我可以在我的注入应用程序中使用它?既然我被注入到进程中,我可以使用像 memcpy 这样的东西吗?

memcpy(value, 0xaaaaaaaa, 10);

我想它可能比这更复杂?

编辑:对于下面的响应,我不明白 WM_COPYDATA 如何帮助我,因为它是将数据发送到另一个应用程序,而不是从现有应用程序检索数据。

有帮助吗?

其他提示

在Windows中每个进程解决它自己的内存。这意味着不能这样做具有的memcpy两个指针指向两个不同的过程的存储器中。

可以考虑的进程间通信的任何选项:存储器映射文件,套接字,命名管道,事件窗口消息

下面是有关 IPC

的更多信息

试试WM_COPYDATA并采取从MSDN关于它的帮助。

下面的IPC机制Windows支持:

剪贴板,点击    COM结果    数据复制结果    DDE结果    文件映射结果    邮筒结果    管道结果    RPC结果    Windows套接字

详情这里进程间通信

在你的情况下,我会使用 WM_COPYDATA消息

scroll top