Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 在进程启动之前向进程注入dll的优雅方法_Windows_Winapi_Operating System_Dll Injection - Fatal编程技术网

Windows 在进程启动之前向进程注入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开发 任何建议都将不胜感激。您可

我正在制作一个修改目标进程行为的“mod”dll。我成功地注入了我的dll并钩住了目标的一些函数

但是,当我需要在主模块启动之前(更清楚地说,在入口点之前)钩住一些API时,需要做更多的工作。我需要用CREATE_SUSPENDED属性手动启动目标程序,注入,然后恢复。但有些应用程序从它自己的启动程序开始,有些通常从x64进程开始。。。如此多变的环境使得它很难自动化

似乎是将dll注入到所有进程并处理CreateProcess的最佳方法。但有时它需要UAC、x64开发

任何建议都将不胜感激。

您可以滥用,并将修改DLL注册为“调试器”(有关详细信息,请参阅)

程序很简单:

  • 在HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options项下添加一个带有目标进程名称的项(例如,Victor.exe)
  • 在此键下,添加名为debugger的新字符串值
  • 将该值设置为修改二进制文件的路径名。这必须是完全限定的路径名,或者图像位置必须在path环境变量中
  • 无论何时启动被害人.exe,您的修改二进制文件都会在加载被害人.exe(及其依赖项)后启动,但在执行开始之前启动。无论如何启动被害人.exe,都会发生这种情况

    还请注意,在64位操作系统上,密钥也会反映在WOW6432节点中,因此将为32位和64位版本的Victor.exe启动修改二进制文件


    另一种将DLL加载到每个可执行文件(至少是那些链接到user32.DLL的可执行文件)的方法是滥用(也就是名称)。这甚至比注册一个随机可执行文件作为调试器还要混乱,但这仍然是任何有自尊心的恶意软件作者绝对需要熟悉的一种黑客行为。另外请注意,此-uhm-功能可能在未来版本的Windows中不可用,必须为AppInit\u DLL的工作做好准备。

    您想要实现的就是所谓的库,这样做很容易找到


    您可以尝试,但必须根据您的使用情况购买(对于32位和非商业用途,Detours Express是免费的)。备选方案包括,…

    AppInit技巧不适用于使用安全引导选项的机器。。但是,对于图像文件执行选项,它帮助很大。我尝试将mydebugger.exe添加到calc.exe,调试器仅打印hi,当我在cmd中运行calc时,我看到hi,但calc未打开…,是否可以使用图像文件执行选项附加dll或仅可执行文件?