kevinkevin240101tmp/fw-diff-tool
GitHub: kevinkevin240101tmp/fw-diff-tool
一款面向固件分析的轻量级二进制 Diff 工具,支持文本、二进制和目录的多模式比较,并提供区域检测与 JSON 输出以便于脚本集成。
Stars: 0 | Forks: 0
# 固件 Diff 工具
一款轻量级 CLI 工具,用于比较文本文件、二进制文件(固件)和目录。
专为需要快速、可编写脚本以获取 diff 结果的工程师而设计。
## 🚀 功能特性
* 文本文件比较(unified diff)
* 二进制文件比较(字节级 + 区域)
* 目录比较
* 变动区域检测
* 摘要报告
* JSON 输出(二进制模式)
## ⚙️ 用法
### 显示帮助
```
python main.py -h
```
## 🧩 模式
```
text Compare two text files and output unified diff
bin Compare two binary files and show byte differences / regions
dir Compare two directories and list changed / added / removed files
```
👉 各模式的详细用法:
```
python main.py text -h
python main.py bin -h
python main.py dir -h
```
## 📝 文本模式
比较两个文本文件:
```
python main.py text old.txt new.txt
```
保存结果:
```
python main.py text old.txt new.txt result.diff
```
## 🔧 二进制模式
在字节级别比较二进制文件,支持区域检测和摘要。
比较两个二进制文件:
```
python main.py bin old.bin new.bin
```
保存结果:
```
python main.py bin old.bin new.bin result.txt
```
JSON 输出:
```
python main.py bin old.bin new.bin --json
```
常用选项:
```
--ignore-ff Ignore differences where either byte is 0xFF
--ignore-00 Ignore differences where either byte is 0x00
--regions-only Show only changed regions
--min-region-size N Only show regions >= N bytes
--fail-if-different Exit with code 1 if differences exist
--max-diffs N Limit number of differences (default: 100)
```
## 📂 目录模式
比较两个目录:
```
python main.py dir dirA dirB
```
保存结果:
```
python main.py dir dirA dirB dir_result.txt
```
## 🧪 快速测试(推荐)
解压后,运行以下命令以验证一切是否正常工作:
```
python main.py bin samples/binary/a.bin samples/binary/b.bin
```
## 📦 包含内容
* `main.py`
* `README.md`
* `samples/`
## 🎯 应用场景
* 固件比较
* 嵌入式系统分析
* 二进制 diff 检查
* 文件系统比较
## ⚠️ 注意事项
* CLI 工具(无 GUI)
* 专为实用和可脚本化用途而设计
* 轻量级且易于修改
## 🔧 环境要求
* Python 3.x
标签:API安全, JSON输出, Python, 二进制分析, 二进制对比, 云安全运维, 云资产清单, 代码对比, 区域分析, 固件分析, 固件安全, 固件差异, 字节级对比, 嵌入式系统, 差异比较工具, 数字取证, 文件对比, 文本对比, 文档结构分析, 无后门, 目录对比, 自动化脚本, 逆向工程