DLL劫持工具
Windows DLL 劫持分析与代理 DLL(proxy DLL)项目生成工具
项目结构
快速开始
运行 GUI
pip install pefile
python main.py
# 或 python -m dll_hijack_tool命令行使用
# 扫描目录中可劫持的 DLL
python -m dll_hijack_tool.scanner <目标目录> [--max-biz 0]
# 根据 DLL 生成代理 DLL 项目(默认转发到真实 DLL)
python -m dll_hijack_tool.generator <DLL路径>
# 指定转发真实 DLL 的完整路径(业务 DLL 场景)
python -m dll_hijack_tool.generator <DLL路径> --forward-path <真实DLL完整路径>
# 生成不转发的空壳(仅执行注入代码,导出函数为空实现)
python -m dll_hijack_tool.generator <DLL路径> --no-forward打包成 exe
python build.py打包完成后,可执行文件位于 。dist_v3\DLL_Hijack_Tool.exe
功能说明
DLL 劫持扫描
选择目标目录,扫描其中的 EXE 文件
分析可劫持的系统 DLL
显示导出函数数量,标记优质目标
代码生成器
选择 DLL 文件
可选“ DLL 函数转发”模式:
开启(默认):加载真实 DLL 并转发所有导出调用,程序功能不受影响
关闭:不转发,导出函数为空壳,DLL 仅被加载以执行注入代码
可选“转发 DLL 路径”:指定真实 DLL 的完整路径(业务 DLL 场景)
留空时自动判断:源 DLL 位于系统目录(System32)→ 运行时从系统目录加载;否则 → 使用源 DLL 自身路径
生成代码中以 宏形式写入,可直接编辑
REAL_DLL_PATH
自动生成完整 Visual Studio 项目:
<dll名>.sln/.vcxproj/.vcxproj.filters- 项目文件Source.def- 模块定义文件proxy.asm- 汇编代理代码(x86/x64 通用)dllmain.cpp- DLL 主代码pch.h/pch.cpp/framework.h- 支持文件
双击生成的 即可直接用 Visual Studio 编译
.sln
依赖
Python 3.7+
PEFILE
PyInstaller(打包用)
下载 https://github.com/zskxc666/DLL-Side-Loading-Exploitation
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员小航
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果