minanagehsalalma/zte-router-tools

GitHub: minanagehsalalma/zte-router-tools

一套可重用的Python工具集,用于ZTE H188A/H288A路由器的固件逆向、文件系统提取和代码分析。

Stars: 1 | Forks: 0

# ZTE 路由器工具 ![Python 3.10+](https://img.shields.io/badge/python-3.10%2B-3776AB?logo=python&logoColor=white) ![License: MIT](https://img.shields.io/badge/license-MIT-2ea043) ![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20Linux-1f6feb) ![Focus](https://img.shields.io/badge/focus-reverse%20engineering-8a2be2) 用于 ZTE H188A / H288A 固件、原始 NAND 转储、JFFS2 网页分区、HTTPD Lua 字节码树以及 H188A 硬编码解密的逆向工程工具集。

ZTE Router Tools social preview

## 本仓库存在的原因 大多数公开的路由器仓库属于以下类别之一: - 随机固件倾倒,无工具支持 - 研究报告,无可复用脚本 - 本地草稿文件夹,包含特定于机器的路径 本仓库是可复用的中间层: - 小型脚本 - 真实示例输出 - 以逆向工程为导向的文档 - 支持 Windows 的 JFFS2 / Lua 字节码工作流 ## 涵盖内容 ### 固件 / 闪存 - H188A 厂商包解析 - H288A 跨多种头部布局的厂商包解析 - H188A 原始 SPI-NAND 映射 - 广泛的固件字符串 / 压缩流探测 - `cspd` 升级验证区域分类 ### 网页 UI / 文件系统 - Windows 安全的 JFFS2 提取 - 提取的 Webfs 语料库分析 - 使用外部 `Unluac.exe` 进行 Lua 字节码 HTTPD 反编译 - 从路由器 Web UI 中提取路由 / `_tag` 映射 - 用于 JFFS2 重新打包工作的元数据保留暂存 ### 硬编码 / 密钥 - H188A 硬编码 AES 派生和 blob 解密 - 公开安全的硬编码密钥名称使用映射 ## 快速开始 ### 1. 克隆 ``` git clone https://github.com/minanagehsalalma/zte-router-tools.git cd zte-router-tools ``` ### 2. Windows 环境引导设置 ``` powershell -ExecutionPolicy Bypass -File .\scripts\bootstrap_windows.ps1 ``` 该引导程序将: - 创建一个本地 `.venv` - 安装 Python 依赖项 - 可选地将 `UnluacNET` 源码克隆到 `vendor\UnluacNET-src` ### 3. 激活环境 ``` .\.venv\Scripts\Activate.ps1 ``` ### 4. 尝试一个真实工作流 ``` python .\tools\unpack_h288a.py .\firmware.bin --out .\out\h288a python .\tools\extract_jffs2_windows.py .\webfs.jffs2 .\out\webfs --force -v python .\tools\extract_route_map.py .\out\httpd_decompiled --json-out .\out\route_map.json --md-out .\out\route_map.md ``` ## 逆向工程快照

Firmware parsing sample NAND mapping sample Webfs workflow sample

## 工具索引 ### 固件 / 闪存工具 - `tools/unpack_h188a.py` - `tools/unpack_h288a.py` - `tools/analyze_h188a_nand.py` - `tools/firmware_probe.py` - `tools/cspd_upgrade_probe.py` ### 硬编码工具 - `tools/decrypt_hardcode.py` - `tools/map_hardcode_usage.py` ### Webfs / HTTPD 工具 - `tools/extract_jffs2_windows.py` - `tools/analyze_webfs.py` - `tools/decompile_httpd_tree.py` - `tools/extract_route_map.py` - `tools/prepare_webfs_repack.py` 详细的脚本说明: - [tools/README.md](tools/README.md) ## 每个工具的示例输出 真实的精简输出记录于此: - [docs/EXAMPLE_OUTPUTS.md](docs/EXAMPLE_OUTPUTS.md) 已提交的示例文件: - [examples/outputs](examples/outputs) 亮点: - `unpack_h188a.py` 暴露了 `V2.0.1EG1T14_TE`、包装魔术字和 `0x271 / 0x1` - `unpack_h288a.py` 区分已知的头部布局并验证 CRC - `analyze_h188a_nand.py` 映射 A/B 插槽、`RAWB`、`BMT` 和引导公钥偏移量 - `decompile_httpd_tree.py` 在 H188A 样本运行中成功反编译了 493 个 Lua 字节码文件,零失败 - `extract_route_map.py` 输出 JSON 和 Markdown 两种格式的清单 ## 所需的密钥和常量 这些工作流使用的固件分析常量记录于此: - [docs/KEYS_AND_CONSTANTS.md](docs/KEYS_AND_CONSTANTS.md) 已公开包含的内容: - 包装魔术字 - H188A/H288A 升级密钥对 (`0x271 / 0x1`) - H188A 硬编码 AES 派生输入 - rootfs 分类 CBC 候选后缀族 未公开包含的内容: - 实时云凭证 - 第三方账户密钥 - 生产后端令牌 ## 已测试矩阵 实际执行过的测试: - [docs/TESTED_MATRIX.md](docs/TESTED_MATRIX.md) 简短版本: | 工具系列 | 使用的真实样本 | |---|---| | H188A 固件解包 | `V2.0.1EG1T14_TE` 厂商包 | | H288A 固件解包 | `1.1.0.6` 和 `V1.1.0_GR5.1T16` 厂商包 | | NAND 映射 | 完整的 H188A SPI-NAND 转储 | | 硬编码解密 | H188A 提取的树 | | Webfs / HTTPD | H188A WE 2020 提取的 HTTPD 树 | ## 依赖项 Python 依赖项在 [requirements.txt](requirements.txt) 中: - `capstone` - `jefferson` - `pycryptodome` - `pyelftools` 如果不使用引导程序,请手动安装: ``` python -m pip install -r .\requirements.txt ``` ### Lua 字节码反编译器 `tools/decompile_httpd_tree.py` 需要一个外部的 Lua 字节码反编译器 CLI。 本仓库**不会**重新分发 `UnluacNET`,但 Windows 引导程序可以将其上游源码树克隆到: - `vendor\UnluacNET-src` 如果你已经有一个可用的 `Unluac.exe`,请显式传递它: ``` python .\tools\decompile_httpd_tree.py ` .\out\webfs\home\httpd ` .\out\httpd_decompiled ` --unluac-exe C:\path\to\Unluac.exe ` --report .\out\decompile_report.json ``` ## 仓库布局 ``` assets/ preview and gallery SVGs docs/ tested matrix, constants, and example-output docs examples/ small checked-in example outputs scripts/ bootstrap helpers tools/ reverse-engineering scripts vendor/ optional third-party clones created by bootstrap ``` ## 本仓库不是什么 - 不是刷机指南 - 不是即用型漏洞利用套件 - 不是完整的漏洞研究报告 - 不是重新分发的固件存档 - 不是实时云密钥的转储 它是 ZTE 路由器逆向工程的可复用工具层。
标签:AES解密, DNS枚举, HTTPD服务器, JFFS2提取, Linux支持, Lua反编译, NAND闪存, Windows支持, ZTE H188A, ZTE H288A, ZTE路由器, 二进制发布, 云资产清单, 固件分析, 固件解析工具, 固件逆向, 安全测试, 嵌入式安全, 工具集, 开源工具, 攻击性安全, 硬编码解密, 网络安全工具, 网络连接监控, 路由器固件, 逆向工具, 逆向工程