Forum: Compiler & IDEs MPC55xx mit RTOS: Reverse-Engineering tipps gesucht


von Flip B. (frickelfreak)


Angehängte Dateien:

Lesenswert?

Im März hatte ich mich mit einem Debugger für den MPC55xx ausgestattet 
und einige Boards mit diesem Prozessor besorgt. Diese waren alle nicht 
Auslesegeschützt/Censored, der MPC5510, den ich reversen möchte jedoch 
schon. Vor etwa zwei wochen kam dann dieses Video in meine Abos: 
https://www.youtube.com/watch?v=0tkdst3JE0g
Nach genau dieser Methode konnte ich auch meinen Patienten auslesen. Das 
Image ist Plausibel und lässt sich mittels Ghidra disassemblieren!

Das Ergebnis hätte ich mir bei einem Dual-Core mit 1MB Flash denken 
können: Ghidra identifiziert etwa 1300 funktionen. Diese Woche habe ich 
etwa 130 Funktionen grob Identifizieren und benennen können, und den 
Bootloader soweit verstanden, dass ich künftig den Flash über CAN 
lesen/schreiben kann. Dabei wurde mir auch klar, dass die eigentliche 
Anwendung auf einem mir unbekannten RTOS basiert.

Nun wird das verstehen der Funktionen immer schwieriger und ich brauche 
tipps, damit ich weiter komme. Da Folgendes beschäftigt mich:

Welche RTOS /scheduler wurden um 2010 herum für MPC55xx benutzt? Wie 
komme ich an sourcen oder etwas mit Debug-Symbolen? Ich hoffe dann mit 
Function-ID einiges automatisch identifizieren zu können. Irgendwie 
läuft viel über structs und flags von den einfach zu identifizierenden 
I/O-funktionen tiefer ins programm.

Wie bekomme ich die Map der Peripheral-Register inkl Namen in Ghidra 
rein?

Irgendwie habe ich den Eindruck, dass der Decompiler nicht richtig mit 
dem Stack umgeht, siehe Bild, muss ich da noch register definieren SDA, 
SDA2?

Sonstige tipps?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.