我使用CreateRemoteThread api将dll注入到进程中。这在进程处于运行状态时起作用。但是,如果我使用CreateProcess api启动一个处于挂起状态的进程,并尝试向其注入dll,则dll注入不起作用。但是,如果我使用createprocess没有挂起标志,那么我可以注入dll。谁能告诉我这个问题的解决方法?
我遇到过类似的情况。不知道确切的根本原因,我建议你尝试使用QueueUserAPC api来做注入。
它不能工作,因为创建一个带有挂起标志的进程,它只加载ntdll.dll。尚未加载kernal32.dll,因此您不能在远程挂起进程中使用createprocess调用LoadLibrary(在kernal32.dll中)。但是你可以使用ldrloadll(在ntdll.dll中)来代替。您也可以将QueueUserAPC与ldrloadll一起使用。它会运行良好~