严重的是,VirtualAllocEx,WriteProcessMemory和CreateRemoteThread都允许使用某些功能,这些功能我一生都无法弄清。
出于合法目的,我可以想到的任何进程间内容都可以通过导出库等来完成。
我想解释一下为什么Windows中允许这种事情。
答案 0 :(得分:2)
我不知道您是否将此视为合法目的,但我将其用于代码注入到我启动的进程中。
首先,在使用CreateProcess暂停主线程的情况下启动进程。然后,将LoadLibrary的参数写入该进程的内存中,并使用CreateRemoteThread创建一个名为LoadLibrary的新线程。
现在,您已经将自己的dll加载到启动的进程中,并且可以恢复其主线程。
这对于例如分析或修改程序的行为。