如何在不被检测到的情况下注入 DLL?

逆向工程 dll注入
2021-06-19 19:55:12

我知道 DLL 注入可用于修改游戏,也许是为了编写机器人。上次我注入 DLL 时,它被检测到。那么我的注射方法肯定是可以检测到的,问题归结为如何避免被检测到?请帮助我,多种方法可以做到这一点将不胜感激

2个回答

我如何避免被发现

如果您不知道检测的工作原理,您就无法知道如何避免被检测到。我建议查找和逆向工程检测逻辑,以便您可以禁用它(修补它)或更好地了解如何避免检测。

也就是说,如果您正在寻找“标准”DLL 注入方法的通用替代方法,您可能需要考虑反射 DLL 注入

请注意,反射 DLL 注入也是可检测的,这再次强调了了解检测逻辑如何在您的场景中工作的重要性。

dll 注入有多种形式,最常见的是将代码加载到调用 LoadLibrary 的远程进程中,以便加载有效负载 dll。一些 anticheats 挂钩 LoadLibrary 以捕获或防止此类方法。为了防止这种情况,您需要消除对 LoadLibrary 的调用。这意味着您需要模仿 Windows PE 加载程序并自己准备要执行的 dll。这种方法称为“手动映射”,您可以在此处找到实现它的代码示例您需要执行的最少步骤是映射基址重定位和修复导入,我对该代码的简要扫描表明它应该可以实现这一点。