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, 二进制检测, 云安全监控, 云资产清单, 恶意软件分析, 无后门, 逆向工具, 逆向工程, 静态分析