Windows 在进程启动之前向进程注入dll的优雅方法
我正在制作一个修改目标进程行为的“mod”dll。我成功地注入了我的dll并钩住了目标的一些函数 但是,当我需要在主模块启动之前(更清楚地说,在入口点之前)钩住一些API时,需要做更多的工作。我需要用CREATE_SUSPENDED属性手动启动目标程序,注入,然后恢复。但有些应用程序从它自己的启动程序开始,有些通常从x64进程开始。。。如此多变的环境使得它很难自动化 似乎是将dll注入到所有进程并处理CreateProcess的最佳方法。但有时它需要UAC、x64开发 任何建议都将不胜感激。您可以滥用,并将修改DLL注册为“调试器”(有关详细信息,请参阅) 程序很简单:Windows 在进程启动之前向进程注入dll的优雅方法,windows,winapi,operating-system,dll-injection,Windows,Winapi,Operating System,Dll Injection,我正在制作一个修改目标进程行为的“mod”dll。我成功地注入了我的dll并钩住了目标的一些函数 但是,当我需要在主模块启动之前(更清楚地说,在入口点之前)钩住一些API时,需要做更多的工作。我需要用CREATE_SUSPENDED属性手动启动目标程序,注入,然后恢复。但有些应用程序从它自己的启动程序开始,有些通常从x64进程开始。。。如此多变的环境使得它很难自动化 似乎是将dll注入到所有进程并处理CreateProcess的最佳方法。但有时它需要UAC、x64开发 任何建议都将不胜感激。您可
另一种将DLL加载到每个可执行文件(至少是那些链接到user32.DLL的可执行文件)的方法是滥用(也就是名称)。这甚至比注册一个随机可执行文件作为调试器还要混乱,但这仍然是任何有自尊心的恶意软件作者绝对需要熟悉的一种黑客行为。另外请注意,此-uhm-功能可能在未来版本的Windows中不可用,必须为AppInit\u DLL的工作做好准备。您想要实现的就是所谓的库,这样做很容易找到
您可以尝试,但必须根据您的使用情况购买(对于32位和非商业用途,Detours Express是免费的)。备选方案包括,…AppInit技巧不适用于使用安全引导选项的机器。。但是,对于图像文件执行选项,它帮助很大。我尝试将mydebugger.exe添加到calc.exe,调试器仅打印hi,当我在cmd中运行calc时,我看到hi,但calc未打开…,是否可以使用图像文件执行选项附加dll或仅可执行文件?