Forum: Mikrocontroller und Digitale Elektronik Arduino Pro Mini Decompilieren


von Mike M. (mikeii)


Lesenswert?

Hi,

ich habe nach einem Plattencrash von einem Projekt keine Sicherung mehr 
vom Quellcode, müsste aber bei dem Projekt nur einen Zahlenwert ändern.
Gibt es die Möglichkeit das Programm vom Arduino zu decompilieren (also 
ich habe die hex datei schon vom Arduino geladen)?

Danke

von stru_aus (Gast)


Lesenswert?

hehe..

hexeditor, richtige stelle suchen, wert ändern..
weisst du wenigstens noch den alten zahlenwert?

also nochmal: es geht direkt im compilat den wert zu ändern.
zurückübersetzen in den arduino-code (also c) geht nicht, nur zu 
assembler.

von Mike M. (mikeii)


Lesenswert?

Hi,

Assembler brauche ich. Das Programm war extrem komplex. Leider habe ich 
es nicht extra abgesichert.
Wie kann man das in Assembler rückübersetzten lassen?

Danke

von Marcus B. (raketenfred)


Lesenswert?

Dann suche mal nach einem Disassembler für hex Files.

Ansich ist da nichts großes bei.

Du musst wahrscheinlich den Arduino Bootloader ignorieren, aber den 
ASM-Code an den ist ran zu kommen

von Mike M. (mikeii)


Lesenswert?

Ich hab bisher nur das gefunden:

Man kann das hex file im AVR Studio in Assemblecode übersetzen lassen.
Werde ich mal ausprobieren.

Danke soweit

von Alex S. (thor368)


Lesenswert?

Tach allerseits,

Du wirst wohl nicht ums Disassemblieren herrum kommen, denn die Opcodes 
enthalten nicht immer den Operanden in Klartext. Einige sehen wirklich 
hässlich aus. LPM hat zwar den Operand am Stück aber er ist 5bit lang 
und wird bei einer 8bit orientierten Suche wohl nicht zu Tage treten.

Es gibt eine ganze Reihe AVR disassembler. Eine gute Auswahl findet man 
in der Linkssammlung hier. So habe ich zu meinem Liebling(ReAVR) 
gefunden:

http://www.mikrocontroller.net/articles/Linksammlung#Disassembler

Thor

PS:
Achso eventuell klappts doch, denn die Restlichen 3bit des nibbles sind 
0.

von Mike M. (mikeii)


Lesenswert?

Dankeschön ;)

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.