A macOS app for reverse engineering ECU binary firmware. Loads raw binary dumps and overlays known definitions from XDF files, letting you visualise mapped and unmapped regions and hunt for new definitions based on what's already known.
Early development. The app compiles and runs, but has significant issues and doesn't yet do anything particularly useful. The foundation is there — finishing it is a matter of time and effort.
ms42Reverse is a native macOS tool aimed at making ECU firmware analysis more visual and interactive. Rather than working blind in a hex editor, the idea is to bring structured definition data (via XDF) into a visual workspace where you can explore unknown regions in context — using known values as reference points to find new ones.
Current state:
- Binary file loading works
- XDF parsing and overlay works
- Known definitions are visualised alongside raw data
- Definition discovery is partially scaffolded but not functional
- Many features are incomplete or broken
- Not yet useful for real reverse engineering work
The target platform is the MS42 ECU (Infineon C167 architecture), used in late-90s/early-2000s BMW M52TU/M54 engines. XDF is the definition format used by TunerPro, which maps human-readable names, scaling, and locations onto a raw binary.
The workflow this app is trying to enable:
- Load a raw ECU binary dump
- Import an XDF to annotate known tables, scalars, and constants
- Visualise what's mapped vs what's unknown
- Use patterns in known data to identify candidate definitions in unmapped regions
- macOS (native app)
- Targets MS42 ECU binaries (Infineon C167)
- XDF import via TunerPro-compatible format
git clone https://github.com/ms4x-dev/ms42ReverseOpen in Xcode and build. No external dependencies.
- Stable binary visualisation (mapped/unmapped regions)
- Full XDF parsing coverage
- Pattern-matching engine for definition discovery
- Hex view with definition overlay
- Export discovered definitions back to XDF
- General stability and usability pass
This project sits alongside hands-on work reverse engineering MS42 firmware using Ghidra and IDA, with the longer-term goal of building tooling that makes the process less manual.
MIT