yj94/BinarySpy

GitHub: yj94/BinarySpy

一款自动将 shellcode patch 到 PE 文件中以绕过杀软检测的工具,结合 CFG 分析与符号执行智能定位可利用的函数位置。

Stars: 567 | Forks: 78

# BinarySpy ## [zh_README](zh_README.md) ## 功能 - **双重 Fuzz 模式** - Auto Analysis:CFG + 调用链 + 符号执行验证 - Fuzz All:直接测试所有大型函数 - **智能函数过滤** - 基于调用深度、函数大小和符号执行可达性进行过滤 - **符号执行验证** - 验证函数是否确实可从入口点到达 - **数字签名移除** - 移除 PE 签名并自动备份 - **现代暗色主题 UI** - 基于 ttkbootstrap 的多种主题选项 - **多语言支持** - 中文/英文界面 - **缓存系统** - 加速重复分析 ## 截图 ![1775027015297](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/01803e1ab8232930.png) ## 快速入门 ### 环境要求 ``` pip install pefile angr psutil ttkbootstrap ``` ### 使用说明 1. 选择目标 PE 文件 2. 选择 Patch 源文件(或使用内置测试 Patch) 3. 选择 Fuzz 模式: - **Auto Analysis**:推荐在大多数情况下使用 - **Fuzz All**:暴力测试所有大型函数 4. 配置参数: - Test Delay:等待进程生成的时间 - Monitor Process:要检测的进程名称(例如 `calc.exe`) - Max Call Depth:根据调用深度过滤函数 - Min Function Size:待测试的最小函数大小 - Symbolic Execution Steps:仅在启用符号执行时有效 5. 点击 **Start Fuzz** ## 模式对比 | 功能 | Auto Analysis | Fuzz All | | -------------------- | ------------- | -------- | | CFG 分析 | 完整 | 基本 | | 调用链追踪 | 是 | 否 | | 符号执行 | 可选 | 否 | | 调用深度过滤 | 是 | 否 | | 函数大小过滤 | 是 | 是 | | 速度 | 较慢 | 较快 | ## 参数 | 参数 | 描述 | | ----------------- | --------------------------------------------------------------------------------- | | Test Delay | 检查目标进程是否生成前的等待秒数 | | Monitor Process | 要监控的进程名称,以逗号分隔(例如 `calc.exe,CalculatorApp.exe`) | | Max Call Depth | 仅测试距入口点该深度内的函数 | | Min Function Size | 仅测试大于此大小的函数 | | Sym Exec Steps | 符号执行验证的最大步数 | ## 主题选项 可用的暗色主题: - `cyborg` - 深灰色/青色(默认) - `darkly` - 深蓝色/白色 - `vapor` - 深紫色/粉色 - `superhero` - 深灰色/橙色 - `pulse` - 深灰色/蓝色 ## 技巧 - 使用较大的 PE 文件作为目标 - 优先选择带有 GUI 子系统(无控制台窗口)的 PE 文件 - 保持 shellcode 较小以获得更好的效果 - 对于自定义 shellcode,请使用 [CppDevShellcode](https://github.com/clownfive/CppDevShellcode) ## 工作流程 ``` Entry Point → CRT → Main → Target Functions ↓ CFG Analysis ↓ Call Chain Tracking ↓ Symbolic Execution (optional) ↓ Fuzz Testing ↓ Success Detection ``` ## 参考 - [原始分析](https://www.52pojie.cn/thread-1900852-1-1.html) - [旧版 README](old_README.md) ## 免责声明 本项目仅用于教育和授权的安全测试目的。用户有责任确保遵守适用的法律法规。作者不对因使用本工具不当造成的任何误用或损害承担责任。 ## Star 历史 Star History Chart
标签:angr, CFG分析, DNS 反向解析, Patch二进制, pefile, PE文件分析, Python安全工具, Shellcode注入, 二进制分析, 云安全运维, 云资产清单, 免杀工具, 安全攻防, 控制流图, 数字签名移除, 符号执行, 绕过AV, 自动化漏洞挖掘, 逆向工具, 逆向工程