
DLLirant is a tool to automatize the DLL Hijacking researches on a specified binary.
DLLirant 是一个用于在指定二进制文件上自动化 DLL 劫持和 DLL 代理研究的工具。



选择所需的 PE 文件,如果是 .exe,应用程序当前将搜索 DLL 搜索顺序劫持;如果你选择 DLL,应用程序将为你提供代理该 DLL 的选项。
关于第二个选项,你必须为代理 DLL 指定一个路径,该路径可以通过两种方式指定:
使用名称:这将生成代理 DLL,并将其重命名为所选 DLL 的名称,同时应用程序会复制所选(原始)DLL,并将其重命名为你选择的名称。
使用路径:此选项将生成一个文件,即代理 DLL,它会调用文本框中指定的 DLL 所导出的函数。
如有必要,你还可以创建一个 import 目录,并将应用程序所需的缺失 DLL 文件放入其中(DLL 文件将自动与目标二进制文件一起复制到 output 目录中)。
重要
关于目标应用程序的错误消息,我曾试图避免这些错误消息,但实际上无法真正避免,因为消息框是由系统通过 csrss.exe 生成的,而不是通过目标应用程序。因此,你可以尝试终止线程、关闭子窗口、使用 SetErrorMode 等,但这些都不起作用。
该脚本将在 DLLirant 所在的目录中创建一个输出目录,并将目标二进制文件复制到输出目录中。
通过 PeNet 库,脚本将提取二进制文件所需的 DLL 名称,并通过编译一个包含所需导出函数的自定义 DLL,逐一测试每个可用的导入函数。
如果二进制文件所需的某个函数被执行,自定义 DLL 将创建一个 C:\DLLirant\output.txt 文件,以确保存在 DLL 劫持的可能性。
DLL 劫持的 PoC 也将在 DLLirant/dll-hijacks 目录中创建。