Skip to main content

OpenRemap

🌐 openremap.com — the project site: what OpenRemap is, how to install it, and the latest news.

📚 docs.openremap.com — the wiki: concepts, every command, and per-family references.

🐙 openremap-docs — the open-source repo behind the docs/wiki — suggestions and contributions welcome.

CI PyPI Changelog License: MIT Python 3.10+ uv

The open-source ECU binary intelligence layer — identify firmware, health-check it, verify its checksums, diff a tune into a portable recipe, and apply it to another binary of the same family.

Offline-first. No accounts, no telemetry, no data leaves your machine.

OpenRemap began as a final-semester thesis project, presented at SAEK Orestiadas (v0.4.5), and has been actively developed since (current release line: 0.7.x).


Where the project is going (short-term roadmap)

0.7.x (current): stabilise the 0.7.0 release — fix bugs that surface in real use, and integrate third-party open-source libraries (ported with credit — never copy-paste, see THIRD_PARTY.md). This is a stability cycle, not a feature cycle.

Upcoming milestones:

  • 0.8.0 — cross-firmware experiment: learn a tune from one software revision and relocate it to another by structural map matching, plus community plugin tooling.
  • 0.9.0 — a refined, modern TUI.
  • 1.0.0 — OpenRemap Harness: a desktop app for Windows / macOS / Linux.

Quick start

pip install openremap        # or: uv tool install openremap

openremap identify stock.bin     # what is this ECU?  (family, SW, confidence)
openremap health  stock.bin      # is the file sane?  (checksums, maps, VINs)
openremap cook    stock.bin tuned.bin --output stage1.remap   # diff → recipe
openremap cook-volatile stockA.bin stage1.bin --output portable.remap  # car-portable recipe
openremap tune    target.bin stage1.remap --output tuned.bin  # apply → verify

Runs entirely offline. .bin, .ori, and .hex files are all accepted.

What it is

  • Identify — 38 extractors across 6 OEMs (Bosch, Siemens, Delphi, Magneti Marelli, Denso, Hitachi), each result with a confidence tier and the evidence behind it
  • Health-check — one command: checksums, axis sanity, map-count envelope, erased blocks, VIN duplication (CI-gateable)
  • Checksums — verifies ME7, IronFelix, NefMoto, MS43, GS20/SMG2 and Denso Subaru schemes (detection only, no correction)
  • Cook / tune — diff stock vs tuned into a portable .remap recipe (schema 4.5, map-annotated; cook-volatile excludes VIN/checksum-store bytes with evidence for cross-car portability), apply with validate-before → apply → verify-after; merge recipes; audit the receipt
  • Map tooling — structural map discovery, map-level diffing, CSV export, probabilistic labels
  • Library-first — every service is importable Python (identity, patching, map scanning) with a mandatory Rust core for the hot loops

Supported ECUs

6 manufacturers, 38 extractors — from LH-Jetronic (1982) to EDC17 and Denso/Hitachi Subaru (2020s). → Per-family reference

Decoders & CPU coverage

To extract code references and read routines, OpenRemap decodes the ECU's CPU directly — no manufacturer lookup needed. Decoders power the code-reference signal, CPU auto-detection, and the routine command's pseudo-decompiler. Two backends cover the supported families:

  • Rust-native decoders — written from scratch for CPUs that the capstone disassembly library does not support (C166/ST10, 8051, MCS-96), each verified against an independent oracle: Ghidra's SLEIGH spec (C166), the at51 disassembler (8051 — 100% agreement on ~312k real instruction boundaries), and MAME's opcode tables + Ghidra (MCS-96).
  • Capstone-backed decoders — the mature disassembly library, used for TriCore, SuperH, x86, M680X, 68K and PowerPC.
CPU Decoder ECU families
C166 / ST10 Rust ME7, ME9, EDC15, MS43, PPD, SID801/803, EMS2000, M5.x, ME1.5.5
8051 (MCS-51) Rust M1.8, M2.x, MP9, M4.x, Mono-Motronic, SIMOS, Simtec56
MCS-96 (8096) Rust EDC1, EDC3
TriCore capstone EDC16, EDC17, MED9, MED17
SuperH capstone SH7055, SH7058, SH72546
M680X (68HC11 / 6800) capstone M1.3, M1.7, M3.x, MP3.x, MP7.2, LH-Jetronic
68K (68000 / CPU32) capstone M1.5.5, M1.55, IAW 4LV
PowerPC capstone MJD 6JF
x86 capstone (generic code — bootloaders etc.)

Every mapping above is evidence-backed: an internal audit established each family's CPU from reset-vector header bytes and independent decoder evidence, and corrected several extractor docstrings along the way (M2.x / MP9 / M4.x are 8051, not 68xxx; EDC16 / MED9 are TriCore, not C166). The 16-bit Denso Subaru units are Motorola 68HC16 (CPU16) — capstone has no HC16 support, so they are not disassembled. Denso EE20 is believed to be SuperH per community docs, but there is no corpus binary to verify against yet.

Documentation

The wiki is live at docs.openremap.com — its content lives in the open-source v-arapidis/openremap-docs repo. This repository keeps only repo-internal docs (docs/internal/ — audits, roadmaps).

Contributing

See CONTRIBUTING.md — extractor guides, code style, PR process. Changes are tracked per version in changelog/.

License

MIT · Third-party credits

Metadata

Release files for openremap 0.7.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for openremap 0.7.6
File
openremap-0.7.6-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
openremap-0.7.6-cp310-abi3-musllinux_1_2_x86_64.whl CPython 3.10 abi3 Linux musl 1.2+ x86-64 Details
openremap-0.7.6-cp310-abi3-manylinux_2_34_x86_64.whl CPython 3.10 abi3 Linux glibc 2.34+ x86-64 Details
openremap-0.7.6-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details

Total release size: 3.8 MB

Release files / openremap-0.7.6-cp310-abi3-win_amd64.whl

Download URL openremap-0.7.6-cp310-abi3-win_amd64.whl
Size 867.8 kB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
a725df4ca0137be19571d48fcaaa36b8569effc458df5d38891c8750d48e4213
BLAKE2b-256 checksum
How to use checksums
7d7055941e3b06c3a81b0fbe9b5efac8fda4c23e1552af59f9e3fa99d035e234
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 6, 2026.

Transparency log

Release files / openremap-0.7.6-cp310-abi3-musllinux_1_2_x86_64.whl

Download URL openremap-0.7.6-cp310-abi3-musllinux_1_2_x86_64.whl
Size 1.1 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
b6a5c8b6f40d8e4ed9f8f5f87ff37b1e9469203682a6055c8be3a95a3205d078
BLAKE2b-256 checksum
How to use checksums
6456907119b22359e65c06079932766706eabf9a19d6b4f3f6b4175591ef5416
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 6, 2026.

Transparency log

Release files / openremap-0.7.6-cp310-abi3-manylinux_2_34_x86_64.whl

Download URL openremap-0.7.6-cp310-abi3-manylinux_2_34_x86_64.whl
Size 974.7 kB
Tags CPython 3.10 Linux glibc 2.34+ x86-64 abi3
SHA-256 checksum
How to use checksums
342fe84bb7e6d4fbc977087613fa08ff58d27430a70c74c81335e62852d097b8
BLAKE2b-256 checksum
How to use checksums
37cf1b5ada424bc8798d891d33ddd43e4ff61ca28e3ae2c91d0e48a21c08ae5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 6, 2026.

Transparency log

Release files / openremap-0.7.6-cp310-abi3-macosx_11_0_arm64.whl

Download URL openremap-0.7.6-cp310-abi3-macosx_11_0_arm64.whl
Size 943.9 kB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
dd1c5f196df3531ab207c11b71a9a55551723f35d4583b240c7cb08004fbe918
BLAKE2b-256 checksum
How to use checksums
4d13dd79b0ba09c8a12f04eef9a2a58499da2df5c2cb18a26de0149c14a5f0d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 6, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.7.6 This release

4 release files

0.7.5

4 release files

0.7.0

4 release files

0.6.4

4 release files

0.6.3

4 release files

0.6.2

3 release files

0.6.1

3 release files

0.6.0

3 release files

0.5.0

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page