mtlabs-dev/fw_region_diff
GitHub: mtlabs-dev/fw_region_diff
一个基于 Python 的轻量级固件和二进制文件差异对比 CLI 工具,提供字节级 diff、区域分组和易读输出。
Stars: 5 | Forks: 0
# 固件区域差异对比(免费版)
一个轻量级的 CLI 工具,用于比较固件 / 二进制文件。
```
Z:\> python main.py bin qa_samples\binary\same_a.bin qa_samples\binary\one_diff.bin
Binary diff result
File 1: qa_samples\binary\same_a.bin (4 bytes)
File 2: qa_samples\binary\one_diff.bin (4 bytes)
Total differences: 1
offset 0x00000001 : 0x02 -> 0x09
Changed regions:
0x00000001 - 0x00000001 (1 bytes)
```
## 功能介绍
此工具可帮助您快速检查二进制文件 / 固件之间的差异。
功能特性:
* 字节级别的 diff(差异)
* 基本区域分组
* 易读的输出结果
* 文本和目录对比模式
专为快速检查、调试和理解二进制文件变更而设计。
## 示例
```
Binary diff result
File 1: a.bin (5 bytes)
File 2: b.bin (6 bytes)
Total differences: 3
offset 0x00000001 : 0x02 -> 0xFF
offset 0x00000003 : 0x04 -> 0x99
offset 0x00000005 : -> 0x06
File sizes differ: a.bin=5 bytes, b.bin=6 bytes
Changed regions:
0x00000001 - 0x00000001 (1 bytes)
0x00000003 - 0x00000003 (1 bytes)
0x00000005 - 0x00000005 (1 bytes)
```
## 安装说明
需要 Python 3.x
```
git clone
cd fw_diff_tool
python main.py -h
```
## 用法
比较两个二进制文件:
```
python main.py bin old.bin new.bin
```
仅显示已更改的区域:
```
python main.py bin old.bin new.bin --regions-only
```
限制显示的差异量:
```
python main.py bin old.bin new.bin --max-diffs 10
```
## 其他模式
文本对比:
```
python main.py text file1.txt file2.txt
```
目录对比:
```
python main.py dir dirA dirB
```
## 限制(免费版)
此免费版适用于基础检查和调试。
不包含以下功能:
* 区域汇总统计
* JSON 输出
* 过滤选项(忽略模式、区域大小)
* 工作流 / CI 集成
## 注意事项
* 此工具侧重于清晰度与实用性。
* 输出结果设计为易于阅读且对脚本友好。
* 无 GUI —— 仅支持 CLI。
## 许可证
本项目采用 MIT 许可证授权。
标签:IoT安全, Python, 二进制对比, 二进制文件, 云安全监控, 云资产清单, 代码审查, 十六进制编辑, 变更检测, 固件分析, 字节级分析, 嵌入式安全, 差异比较, 文件对比, 文本对比, 文档结构分析, 无后门, 目录对比, 轻量级工具, 逆向工程, 静态分析