在Windows中能够写入其他进程的内存并执行那里的线程有什么合法目的?

时间:2018-11-15 05:03:01

标签: windows assembly

严重的是,VirtualAllocEx,WriteProcessMemory和CreateRemoteThread都允许使用某些功能,这些功能我一生都无法弄清。

出于合法目的,我可以想到的任何进程间内容都可以通过导出库等来完成。

我想解释一下为什么Windows中允许这种事情。

1 个答案:

答案 0 :(得分:2)

我不知道您是否将此视为合法目的,但我将其用于代码注入到我启动的进程中。

首先,在使用CreateProcess暂停主线程的情况下启动进程。然后,将LoadLibrary的参数写入该进程的内存中,并使用CreateRemoteThread创建一个名为LoadLibrary的新线程。

现在,您已经将自己的dll加载到启动的进程中,并且可以恢复其主线程。

这对于例如分析或修改程序的行为。