在windows中怎样实现对 cmd控制台的 程序注入

2025-04-13 06:24:39
推荐回答(1个)
回答(1):

推荐使用CreateRemoteThread直接注入DLL,具体方法王艳平那本《WINDOWS程序设计》里有。如果在Win7+系统里想要注入不属于同一个Session的进程,需要直接使用NtCreateThreadEx来注。有一些注入类的工具可以在你测试时手动注入DLL。
如果目标进程是你启动的话,可以在启动时设定CREATE_SUSPENDED,然后用QueueUserAPC(强烈推荐)来加载DLL,之后再用ResumeThread恢复运行。
静态的方法也是有的,如傀儡DLL大法等,不过需要你自己分析依赖项。

注入DLL之后,其余的就太容易了。你可以HOOK掉WriteConsole之类的函数拦截向控制台的写入,也可以用GetStdHandle拿到控制名句柄写东西。