Ghidra und die Venus-D-Firmware
Drei Rechner in einem Gerät
In einer Marstek Venus D arbeitet nicht ein Controller, sondern mehrere, jeder mit eigener Firmware:
- Control/EMS — das Energiemanagement
- VNS — der Mikrowechselrichter
- BMS — das Batteriemanagement
Im Repo Marstek-Venus-D-Firmware-Reverse-Engineering nehme ich diese Images statisch mit Ghidra auseinander: ARM-Cortex-M-Code, keine laufende Hardware, nur das Binary.
Statisch heißt: mit Vorbehalt
Ohne Debugger auf dem Gerät bleibt vieles Interpretation. Eine Funktion, die nach Zellspannung aussieht, muss keine sein. Deshalb steht in den Notizen dabei, wie sicher eine Zuordnung ist — und was schlicht offen bleibt.
Die Ergebnisse fließen zurück in die Registerdokumentation: was im Code auftaucht, lässt sich am laufenden Gerät gegenprüfen.