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, 二进制分析, 二进制对比, 云安全运维, 云资产清单, 代码对比, 区域分析, 固件分析, 固件安全, 固件差异, 字节级对比, 嵌入式系统, 差异比较工具, 数字取证, 文件对比, 文本对比, 文档结构分析, 无后门, 目录对比, 自动化脚本, 逆向工程