colecrouter/ecu-explorer
GitHub: colecrouter/ecu-explorer
面向三菱和斯巴鲁等车型的 ECU 固件分析、实时遥测和调校工具,集成 VS Code 扩展与 LLM 接口。
Stars: 0 | Forks: 0
# ECU Explorer
一个社区驱动的 monorepo,用于 Mitsubishi、Subaru 及未来车辆平台的 ROM 分析、实时 ECU 遥测和调校。具备 VS Code 扩展 UI、模块化协议支持以及面向 LLM 的 MCP 工具。
**想要调校您的爱车?**
- 🚗 **[支持的车辆与协议](PROTOCOL_SUPPORT.md)** — 查看适用于您车辆的功能
- 📊 **[实时日志指南](REAL_TIME_LOGGING.md)** — 监控实时引擎/变速箱数据
- 🔌 **[传输层](TRANSPORT_LAYERS.md)** — USB、K-line 和 CAN 硬件详情
- 📋 **[功能矩阵](FEATURES.md)** — 比较各平台的能力
**想要贡献力量?**
- 参阅 [`CONTRIBUTING.md`](CONTRIBUTING.md) 指南了解如何参与
- 查看 [`DEVELOPMENT.md`](DEVELOPMENT.md) 了解架构与路线图
- 阅读 [`AGENTS.md`](AGENTS.md) 了解开发规则与模式
## 入门指南
查看可用的应用程序:
| App | 描述 |
|-----|-------------|
| [**VS Code Extension**](./apps/vscode/) | 在 Visual Studio Code 内进行 ROM 编辑、实时日志记录和 MCP 工具操作 |
## 快速参考能力矩阵
| 车型 | 协议 | ROM 读取 | ROM 写入 | 实时数据 | 传输方式 | 状态 |
|---------|----------|:--------:|:---------:|:---------:|-----------|--------|
| **Mitsubishi EVO X (4B11T)** | MUT-III | ✅ | ❌* | ⏳ | CAN (OpenPort 2.0) | 部分 |
| **Mitsubishi EVO X (Bootloader)** | UDS/Bootloader | ✅ | ✅ | ❌ | CAN (OpenPort 2.0) | 就绪 |
| **Subaru WRX/STI/Forester** | KWP2000 | ✅ | ✅ | ⏳** | CAN (OpenPort 2.0) | 部分 |
| **Nissan (旧款)** | NCS K-line | ❌ | ❌ | ❌ | K-line (未来) | 未开始 |
| **OBD-II (任意)** | ISO 14229 | ❌ | ❌ | ✅ | CAN (OpenPort 2.0) | 就绪 |
**图例**: ✅ = 完成, ⏳ = 进行中, ❌ = 未开始, ❌* = 受限于安全密钥, ❌** = 需要 K-line 硬件
## 功能特性
查看 [FEATURES.md](FEATURES.md) 获取详细的功能列表。
## 支持的车辆与 ECU
查看 **[PROTOCOL_SUPPORT.md](PROTOCOL_SUPPORT.md)** 获取针对特定车辆的详细功能。
### 当前重点
- **Mitsubishi EVO X / 4B11T** — 完整的 ROM 编辑 + 调校
- **Subaru WRX/STI/Forester (Denso SH7058 ECU)** — 完整的 ROM 编辑
- **通用 OBD-II** — 实时监控(8 个标准 PID)
### 传输注意事项
OpenPort 2.0 在不同的运行时环境下表现不尽相同。
- 浏览器/Web 运行时优先使用 WebUSB。
- WebHID 仍作为备选方案,不应被视为普遍支持。
- macOS 桌面端应优先使用以 `/dev/cu.usbmodem*` 形式暴露的 CDC ACM 串行端点(若可用),而不是依赖 libusb 接口声明。
您可以从同一传输层运行特定协议的 CLI 诊断:
```
npm run tools:inspect-device -- log --duration 2000 --protocol mut3 --pids 0c,0d
npm run tools:inspect-device -- read-rom --protocol bootloader --out ./dump.bin
npm run tools:inspect-device -- read-rom --protocol mut3 --dry-run
```
尝试运行以下命令,以验证您的环境中连接是否可用。
```
npm run tools:inspect-device -- connect --verbose
```
## 参与贡献
欢迎各种贡献!请:
1. **阅读规范** — 查看 [`specs/`](specs/) 了解功能详情和验收标准
2. **编写测试** — 目标覆盖率 ≥80%;使用现有的测试模式
3. **更新文档** — JSDoc 注释、README 更新、规范引用
4. **遵循模式** — 使用现有的代码模式;查看 [`AGENTS.md`](AGENTS.md) 了解指南
5. **本地测试** — 提交前运行 `npm run test:coverage`
## 免责声明
本项目基于现有工具和 ECU 通信分析进行**逆向工程**。不包含任何许可、专有或受版权保护的代码。所有工作均经过广泛测试(1000+ 单元和集成测试)和代码审查验证。
**本项目的大部分内容——核心逻辑、逆向工程、文档和测试——由 AI 提供**,并经人工验证其准确性和一致性。
**欢迎提交 AI 生成的功能 PR**,只要它们:
- 包含全面的测试和文档
- 经过人工审查
- 符合现有的 CI/代码质量标准
如有关于范围或期望的疑问,请开启 issue 或讨论。
## 相关资源
- **EcuFlash**: https://www.tactrix.com/
- **EvoScan**: https://www.evoscan.com/
- **RomRaider**: https://romraider.com/
- **OpenPort 2.0**: https://github.com/NikolaKozina/j2534
- **Ghido**: https://ghidra-sre.org/
- **Ghidra-MCP**: https://github.com/LaurieWired/GhidraMCP
标签:CAN总线, ECU调校, EVO X, K-line, KWP2000, LLM集成, MCP工具, OBD-II, OpenPort 2.0, ROM分析, STI, UDS协议, WRX, 三菱, 云资产清单, 刷写工具, 发动机控制单元, 实时遥测, 嵌入式系统, 开源汽车, 斯巴鲁, 汽车电子, 汽车诊断, 自动化攻击, 车联网, 逆向工程