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, 二进制对比, 二进制文件, 云安全监控, 云资产清单, 代码审查, 十六进制编辑, 变更检测, 固件分析, 字节级分析, 嵌入式安全, 差异比较, 文件对比, 文本对比, 文档结构分析, 无后门, 目录对比, 轻量级工具, 逆向工程, 静态分析