v-arapidis/openremap-core

GitHub: v-arapidis/openremap-core

一款开源的ECU二进制文件识别、对比与修补工具包,作为商业ECU调校软件的免费替代方案,提供Python库和CLI双模式使用方式。

Stars: 9 | Forks: 0

# OpenRemap [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/086897d426105223.svg)](https://github.com/v-arapidis/openremap-core/actions/workflows/ci.yml) [![覆盖率](https://codecov.io/gh/v-arapidis/openremap-core/branch/main/graph/badge.svg)](https://codecov.io/gh/v-arapidis/openremap-core) [![PyPI](https://img.shields.io/pypi/v/openremap.svg)](https://pypi.org/project/openremap/) [![更新日志](https://img.shields.io/badge/-Changelog-blue.svg)](CHANGELOG.md) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/) [![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv) **用于 ECU 二进制文件识别、对比和修补的 Python 库与 CLI 工具。** 将其嵌入您的应用程序,在 pipeline 中实现自动化,或直接从终端运行它。 🌐 **[openremap.com](https://www.openremap.com)** — 完整文档、指南和更新日志。

OpenRemap TUI — Scan panel

**准备好试一试了吗?** 跳转到 [安装](#install) — 跨平台只需一条命令。 ## 它是什么 OpenRemap **首先是一个 Python 库,其次才是 CLI 工具**。驱动命令行工具的同一套 pipeline 完全可以作为可导入的服务使用 —— 无需 subprocess,无需解析 stdout。 ``` from openremap.core.services.identifier import identify_ecu from openremap.core.services.confidence import score_identity from openremap.core.services.patcher import ECUPatcher data = open("ecu.bin", "rb").read() identity = identify_ecu(data, filename="ecu.bin") result = score_identity(identity) print(f"{identity['ecu_family']} {result.tier}") # EDC17 High ``` 所有服务都接受 `bytes` 和 `dict` 类型 —— 没有文件路径,没有隐藏状态,轻松进行测试并封装在 API endpoint 或桌面应用程序中。 → [完整集成指南](docs/integration.md) ## 问题背景 ECU 工作围绕三个任务展开,如今这些任务需要昂贵的商业软件(€2,500–€8,000+)或没有审计记录的手动十六进制编辑器操作: 1. **识别二进制文件** — 制造商、ECU 系列、软件修订版本、置信度评分 2. **对比两个二进制文件** — 原厂文件与刷写文件之间有什么变化,捕获为可移植的配方 (recipe) 3. **将配方应用到另一个二进制文件** — 验证、修补和校验 — 要么全部成功,要么全部失败 无论您是在构建调优应用程序、自动化工作流,还是仅仅需要一个可靠的离线工具 —— OpenRemap 都为您提供简洁的 Python API 和完整的 CLI 来实现这三项任务。 ## OpenRemap 能做什么 OpenRemap 是一个**免费、离线、开源的工具包**,用于处理二进制分析和修补 pipeline: | 步骤 | 命令 | 发生的操作 | |---|---|---| | **Identify (识别)** | `openremap identify ecu.bin` | 读取二进制文件并告诉您:制造商、ECU 系列、软件版本、硬件编号、标定 ID —— 外加一个置信度评分,用于评估文件未被修改的可能性 | | **Scan (扫描)** | `openremap scan ./bins/` | 批量识别文件夹中的每个二进制文件。将它们分类到 `Bosch/EDC17/`、`Siemens/PPD/` 等目录中。在您接触可疑文件之前将其标记出来 | | **Cook (提取配方)** | `openremap cook stock.bin tuned.bin` | 逐字节对比两个二进制文件,并生成一个 `.remap` 配方 —— 一个可移植的 JSON 文件,其中列出了每个更改的字节及其上下文锚点。可在任何文本编辑器中阅读,可使用 Git 进行对比 | | **Tune (调优)** | `openremap tune target.bin recipe.remap` | 针对目标二进制文件验证配方,应用补丁,然后验证每个字节是否正确写入。要么全部成功要么全部失败 —— 绝不会发生部分修补的情况 | ### 它不能做什么 - **Map 编辑** — OpenRemap 在字节级别而非 map 级别工作。请使用 WinOLS 或 ECM Titanium 来查找和编辑 map。使用 OpenRemap 来捕获、共享和重新应用这些编辑。 - **Checksum 校正** — 在刷写之前,您必须通过 WinOLS、ECM Titanium 或类似工具运行输出文件。务必如此。 - **ECU 读写** — 它只处理您已有的 `.bin` 文件。 ## 覆盖范围 涵盖 4 家制造商的 30 个提取器,覆盖从 1982 年至今的 ECU: | 制造商 | 系列 | 示例 | |---|---|---| | **Bosch** (18) | EDC17, EDC16, EDC15, ME7, ME9, M5.x, M4.x, M3.x, M2.x, M1.x, MP9, ME1.5.5, LH-Jetronic, Mono-Motronic 等 | VAG TDI, BMW, Volvo, PSA, Porsche, Alfa Romeo | | **Siemens** (6) | SIMOS, PPD, SID 801/803, Simtec 56, EMS2000 | VAG 汽油车, PSA/Ford 柴油车, Volvo 涡轮增压 | | **Delphi** (2) | Multec, Multec S | Opel/Vauxhall 柴油车和汽油车 | | **Marelli** (4) | IAW 1AV, IAW 1AP, IAW 4LV, MJD 6JF | Fiat, PSA, GM/Opel | → 完整参考:[Bosch](docs/manufacturers/bosch.md) · [Siemens](docs/manufacturers/siemens.md) · [Delphi](docs/manufacturers/delphi.md) · [Marelli](docs/manufacturers/marelli.md) ## 置信度评分 每次识别都包含一个置信度结论 —— `HIGH`, `MEDIUM`, `LOW`, `SUSPICIOUS` 或 `UNKNOWN` —— 由多个信号综合得出: - **检测强度** — 提取器的匹配级联严格程度 - **软件版本格式** — 感知制造商的规范格式检查(如 Bosch `1037` 前缀,Delphi 8 位 GM 样式等) - **存在的身份字段** — 硬件编号、标定 ID、ECU 变体 - **文件名分析** — 调优关键词(`stage2`, `dpf_off`, `egr_off`)和通用名称(`1.bin`)会标记为可疑文件 - **感知系列的评分** — 架构上缺少某些字段的 ECU 系列绝不会因为缺少这些字段而被扣分 → [完整评分细分](docs/confidence.md) ## 配方格式 `.remap` 配方是一个独立的 JSON 文件。每个更改的字节都列出了其偏移量、原始值、修改值和上下文锚点 —— 32 字节的周围数据使修补程序即使在不同软件版本之间二进制文件发生轻微偏移时,也能找到正确的位置。 配方易于人类阅读,可使用 Git 对比,并且可以共享。没有专有格式,没有二进制 blobs。 → [配方格式规范](docs/recipe-format.md) ## 安装说明 适用于 Windows、macOS 和 Linux。只需一条命令即可开始: ``` pip install openremap ``` 或者使用 [uv](https://github.com/astral-sh/uv)(推荐): ``` uv tool install openremap ``` 详细指南: - 🪟 **Windows** — [分步指南](docs/install/windows.md) · 为极少使用终端的用户编写 - 🍎 **macOS / 🐧 Linux** — [一键安装](docs/install/macos-linux.md) - 🛠️ **贡献 / 开发** — [从源代码克隆并运行](docs/install/developers.md) ## 入门指南 ``` openremap ``` 就是这样。完整的终端 UI 会启动 —— 识别文件、扫描文件夹、提取配方和应用调优,所有操作都在一个界面中完成。无需记忆任何标志。 当您需要时,完整的 CLI 依然可用: ``` openremap workflow # Prints a plain-English guide with every step and command openremap commands # Quick reference for all available commands ``` → [完整 CLI 参考](docs/cli.md) ## 文档 - 🌐 [openremap.com](https://www.openremap.com) — 包含完整指南和更新日志的网站 - [集成指南 — 将 OpenRemap 作为 Python 库使用](docs/integration.md) - [工作原理](docs/about.md) - [CLI 命令概览](docs/cli.md) - [置信度评分 — 级别、信号和细分](docs/confidence.md) - [配方格式 (.remap)](docs/recipe-format.md) - 支持的系列:[Bosch](docs/manufacturers/bosch.md) · [Siemens](docs/manufacturers/siemens.md) · [Delphi](docs/manufacturers/delphi.md) · [Marelli](docs/manufacturers/marelli.md) - [贡献 — 添加提取器、代码风格、PR](CONTRIBUTING.md) ## 许可证 MIT — 详见 [LICENSE](LICENSE)。
标签:DNS 反向解析, ECM Titanium, ECU调校, Homebrew安装, IP 地址批量处理, MIT协议, Python, TUI, WinOLS替代, 二进制对比, 二进制补丁, 云资产清单, 代码覆盖率, 刷写工具, 嵌入式安全, 开源框架, 持续集成, 文档结构分析, 无后门, 汽车安全, 汽车电子, 汽车软件, 网络调试, 自动化, 逆向工具, 逆向工程