Forum: Mikrocontroller und Digitale Elektronik Dissembly von Flash-Programm


von extexo (Gast)


Lesenswert?

Hi,

mit Hilfe von AVRDude habe ich den Flash-Speicher von einer
Fernbedienung auslesen können in der ein Atmega48 verbaut ist.

Der Sinn davon ist der das ich über eine SPS die Lichterkette,
die von der Fernbedieung gesteuert wird, direkt ansteuern möchte.
Dazu muss ich wissen wie das in der Fernbedienung verbaute
Funkmodul angesprochen wird und welche Daten darüber verschickt werden.

Deshalb wollte ich versuchen das Programm zu dissemblieren um
eben das herauszufinden.

avr-objdump -m avr -D flash2.hex
o.g Befehl gibt bei mir immer folgendes aus:
avr-objdump: flash.hex: File format not recognized

Den flash ausgelesen habe ich mit
avrdude -c stk500v2 -p m8 -P /dev/ttyACM0 -F -U flash:r:flash2.hex:r

Die ausgelesenen Daten sind auf jeden Fall korrekt!

Kann mir da jmd. weiterhelfen?

Gruß

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sieh Dir mal Deine flash2.hex in einem Texteditor an.

von Sascha (Gast)


Lesenswert?

Hallo,
sollte der Chip nicht protected gewesen sein, musst du den Code als 
ASCII-Hex Tabelle in Assembler einbinden (quasi als Konstanten) und 
Assemblieren. Dann ganz einfach mit dem Debugger starten.
Somit wird es durch den Debugger Disassenbliert und du kannst dann auch 
beobachten was da vor sich geht.

Einen guten Disassembler für AVRs kenne ich leider nicht. Aber so habe 
ich es auch schon gemacht.

Gruß Sascha

von Peter II (Gast)


Lesenswert?

extexo schrieb:
> Der Sinn davon ist der das ich über eine SPS die Lichterkette,
> die von der Fernbedieung gesteuert wird, direkt ansteuern möchte.
> Dazu muss ich wissen wie das in der Fernbedienung verbaute
> Funkmodul angesprochen wird und welche Daten darüber verschickt werden.

warum dann nicht einfach mitlesen was übertragen wird?

von Dr. Sommer (Gast)


Lesenswert?

extexo schrieb:
> avr-objdump -m avr -D flash2.hex
Sag ihm mal dass das eine hex-Datei ist:
avr-objdump -m avr -b ihex -D flash2.hex

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.