akgvnx/PyExecDeobfuscator

GitHub: akgvnx/PyExecDeobfuscator

基于 DLL 注入与底层函数挂钩的运行时工具,专门用于动态拦截并提取通过 exec() 执行的混淆 Python 代码明文。

Stars: 1 | Forks: 0

# PyExecDeobfuscator Runtime Python exec 钩子系统,用于提取通过 `exec()` 执行的混淆 Python 代码。 ## 概述 PyExecDeobfuscator 是一个基于 Windows 的研究工具,它可以钩入 Python 运行时并捕获动态执行的 Python 代码。 它专为分析使用 `exec()` 或 `eval()` 的混淆或打包的 Python 脚本而设计。 该项目包含: - DLL 钩子模块 (https://github.com/akgnx/PyExecDeobfuscator) - 注入器 (https://github.com/akgnx/PyExecDeobfuscator/tree/main/PyExecDeobfuscator_Injector) ## 功能特性 - 钩取 Python 运行时函数: - `PyRun_StringFlags` - `PyEval_EvalCode` - 捕获动态执行的 `exec()` 代码 - 记录超长运行时 Python 负载(大于等于 200 个字符) - 支持 Python 3.7 – 3.13 - 检测 PyInstaller 生成的 exe 文件 - 注入目标: - 通过 `python.exe` 运行的 `.py` 脚本 - 已编译的 `.exe` 文件 (PyInstaller) ## 工作原理 1. 注入器启动目标进程 2. 进程以挂起模式创建 3. 使用 `CreateRemoteThread` + `LoadLibraryA` 注入 DLL 4. 钩子 DLL 附加到 Python 运行时 5. 运行时的 `exec()` / eval 求值调用被拦截 6. 捕获的代码被记录到文件中 ## 使用说明 ### 构建 构建这两个项目: - 注入器项目 - DLL 项目 (PyExecDeobfuscator.dll) 确保 Microsoft Detours 已正确安装并链接。 ### 运行 injector.exe ### 示例 - injector.exe test.py PyExecDeobfuscator.dll - 对于 PyInstaller: injector.exe target.exe PyExecDeobfuscator.dll - 捕获的 Python 代码将保存至: akgnx_hooklog.txt - 仅记录大于 200 个字符的 `exec()` 负载。
标签:API Hooking, C++, Conpot, DAST, Detours, DLL注入, DNS 解析, eval拦截, exec拦截, PyInstaller解包, Python逆向, UML, Windows安全, 云资产清单, 代码反混淆, 代码提取, 恶意软件分析, 数据擦除, 流量审计, 端点可见性, 运行时Hook, 逆向工具, 逆向工程, 静态分析辅助