MSP430 "hacken" - Auslesen des Flash durch partielles Update

Gast #2541537
Hallo!

Ich habe hier ein Gerät mit einem MSP430 von TI. Die JTAG-Schnittstelle 
ist deaktiviert, der Bottloader per Passwort (IVT) geschützt. Jedoch 
kann ein Teil der Firmware quasi durch einen eigenen Bootloader 
aktualisiert werden. Ein exemplarisches Update liegt vor. Es scheint an 
eine gegebene Stelle im Flash kopiert zu werden und sichert bei 
Einsprung ein paar Register und springt abhängig von verschiedenen 
Speicherstellen irgendwann wieder zurück in das mutmaßliche 
Hauptprogramm.

Frage an die kenner des MSp430 (kenne mich mehr mit Atmel und Cortex M3 
aus): Haltet ihr es für möglich, ein Programm zu schreiben, was den 
gesamten Flash-Inhalt über die serielle Schnittstelle ausgibt? Evtl. 
vorher Interrupts sperren und den Watchdog deaktivieren? Hat jemand so 
etwas schon mal gemacht?

Grüße
Bastler
Gast #2541591
Gott schrieb:
> Das ist doch Reverse Engineering, also eigentlich kein Stehlen, sondern
> nur eine Rückgewinndung des "Quellcodes" aus einem Binärfile

Den Fall möchte ich dann doch lieber vor dem Jüngsten Gericht verhandelt 
sehen.
Persönliche Seite #2541622
Bastler schrieb:
> Haltet ihr es für möglich, ein Programm zu schreiben, was den
> gesamten Flash-Inhalt über die serielle Schnittstelle ausgibt?

Rein prinzipiell ist sowas nicht nur möglich, sondern trivial.
1
uint8_t *Pointer;
2

3
for (Pointer = FLASH_START; Pointer < FLASH_END; Pointer++)
4
  printf("%04X %02X\n", Pointer, *Pointer);

Voraussetzung sei eine initialisierte serielle Schnittstelle und das 
"umbiegen" von printf auf ebendiese, aber statt printf etc. lässt sich 
natürlich auch jede andere Variante nutzen. Das printf dient hier nur 
als illustratives Vehikel.

Bei den Varianten mit 20-Bit-Adressierung sieht das je nach verwendetem 
Compiler etwas aufwendiger aus.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.