如何防止应用程序杀死 OllyDbg

逆向工程 ollydbg 反调试
2021-07-05 10:31:35

我想运行一个 OllyDbg 并将它附加到一些稍后开始的进程中。

但问题是,这个过程非常具有攻击性:它在开始时杀死 OllyDbg,而且我以后也无法运行 OllyDbg,因为该进程随后崩溃,并显示一些用某些 Moonspeak 语言编写的谩骂消息(有些符号可以读取,并且他们讲述了一些关于“antihack.dll”的事情,不过,我没有找到任何关于使用 Dependency walker 和 Pe Explorer 的参考)。

那么,有什么方法可以防止这种激进的进程杀死任何正在运行的应用程序并将其以某种方式连接到 OllyDbg?

PS 现在正在发生一些疯狂的事情。即使在后台进程中没有调试器的朗姆酒在一段时间后因内存访问错误而失败(我什至用原始文件替换了 .exe,以防发生一些任意覆盖)。

1个回答

目标程序是什么?已知有反黑客功能吗?(如果是,是谁制造的?)您使用的是 32 位还是 64 位操作系统?

使用 GMER/ EnumDeviceDrivers()/etc 并检查可能正在加载“antihack.dll”的驱动程序。如果有驱动程序,请将其二进制文件加载到 IDA 中并开始逆向,如果您使用的是 32 位,则获取一个反 rootkit 程序(GMER、内核侦探、XueTr)并移除它们的挂钩。

“他们讲述了一些关于‘antihack.dll’的事情,不过,我没有找到任何关于使用 Dependency walker 和 Pe Explorer 的参考”

也许antihack.dll被加载到一个单独的进程中?尝试监视进程创建或仅使用任务管理器,看看是否有一个单独的进程正在杀死您的 Olly。或者,它可能只是一个延迟的 LoadLibrary 调用。此外,该程序可能会将 antihack.dll 注入您的进程而不是加载它(在这种情况下不太可能)。

如果您使用的是 32 位操作系统,启用驱动程序的 PhanTom 应该足以保护您的 Olly。如果不是,请尝试寻找其他隐藏 Olly 的插件。在 64 位操作系统上,您需要编写自己的驱动程序,尽管使用 PatchGuard 可能还不够,因为它们可以通过窗口名称/位置/层次结构检测您的 Olly。

如果您想附加到具有反黑客功能的程序,您最好先部分或完全禁用反黑客功能。窃取侵入性调试器以使其附加到已运行的受保护进程并不是一个好方法。从 IDA 中的静态分析开始,在 Olly 中找到启动程序并调试启动过程的方法,或者从侵入性较小的动态分析(Cheat Engine)开始。