jaydaVis04/rev-inspector

GitHub: jaydaVis04/rev-inspector

Rev Inspector 是一款纯静态的二进制检查与逆向工程学习助手,在不执行样本的前提下生成包含哈希、字符串、元数据、熵值和可疑指标的结构化分析报告。

Stars: 0 | Forks: 0

# Rev Inspector Rev Inspector 是一个静态二进制检查助手,用于学习防御性逆向工程和恶意软件分析概念,且无需执行未知样本。 它接受编译文件或脚本,并生成包含文件类型、哈希值、提取的字符串、元数据、熵、导入项和可疑指标的结构化报告。 ## 安全范围 - 仅限静态分析。 - 绝不执行未知二进制文件。 - 适用于测试二进制文件、开源程序、CTF 样本和故意设计的易受攻击的训练文件。 - 不包含针对商业软件的解包或绕过保护功能。 ## 快速开始 ``` python3 -m venv .venv source .venv/bin/activate pip install -e ".[analysis]" rev-inspector path/to/sample rev-inspector path/to/sample --html-out report.html ``` 核心 CLI 仅依赖 Python 标准库即可运行。可选依赖项可以改善解析效果: - `pefile` 用于 PE 元数据和导入项。 - `pyelftools` 用于 ELF 元数据。 - `macholib` 用于 Mach-O 元数据。 - `yara-python` 用于 YARA 规则匹配。 - `capstone` 用于未来的反汇编功能。 ## 示例 ``` rev-inspector samples/example.sh --json ``` PE 文件支持无依赖的头部解析,涵盖架构、子系统、入口点、镜像基址、文件特征、节标志和节熵。安装 `pefile` 可增加更丰富的 PE 导入/导出解析功能。 ## 可选的 Web UI ``` python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt uvicorn web.app:app --reload --port 8001 ``` 打开 `http://127.0.0.1:8001` 即可访问本地工作台 UI。8000 端口通常被其他本地工具占用,因此本项目文档默认使用 8001。该 UI 包含固定的顶部栏、左侧报告栏、紧凑的分析表格、上传进度、当前会话的最近分析、本地分析师笔记以及明确的静态分析防护措施。服务器将上传文件存储在 `uploads/` 目录下供本地查看,且绝不执行它们。 ``` { "file": "samples/example.sh", "type": "script", "hashes": { "sha256": "..." }, "summary": "This file appears to use networking and shell command indicators.", "risk": "medium" } ``` ## 项目布局 ``` samples/ rules/ suspicious_strings.yar revinspector/ filetype.py metadata.py strings.py imports.py entropy.py disasm.py indicators.py report.py cli.py app.py ``` ## 开发 ``` python3 -m unittest discover -s tests python3 -m revinspector samples/example.sh ``` ## shadcn/ui 说明 本项目不使用付费的 shadcn.io MCP/私有注册表,也不需要 `SHADCNIO_TOKEN`。 目前的 UI 采用 FastAPI + Jinja2 + 原生 CSS 构建。如果项目后续引入 React/Tailwind 前端,请使用正常的开源 shadcn/ui CLI: ``` npx shadcn@latest init npx shadcn@latest add button ```
标签:DAST, Python, 二进制检测, 云安全监控, 云资产清单, 恶意软件分析, 无后门, 逆向工具, 逆向工程, 静态分析