Der Cortex-m3 unterstützt thumb2, was variable Instruktionslänge ist, kann man nicht einfach am Anfang beginnen und einen Befehlssatz variabler Länge disassemblieren. Man kann/wird leicht aus dem Takt geraten und die Ausgabe wird zu Müll und bleibt für immer so. Wahrscheinlich nicht in diesem Fall, aber Sie werden Fehler haben, das wird erwartet. Es ist durchaus möglich, dass sie Elemente hinzugefügt haben, um einen Disassembler zu verwirren.
Auch Sie könnten eine Menge Daten haben hier, oder es könnte Code komprimiert werden, oder wer weiß was sonst ...
Sein einem Cortex-m das erste Stück Worte sind keine Vektortabelle, so Was ist dieser Code? Wenn Sie die Ausgabe auf die Weise untersuchen, wie Sie die gnu-Tools verwendet haben, sieht das nicht wie echter Code aus, also vielleicht verschlüsselt oder komprimiert oder anders. Siehst du Stack-Frames, die gebaut werden und Funktionen, die mit einem Pop (ldmia) enden, das das Link-Register mit einigen statischen Wörtern danach enthält, was dann wie der Anfang der nächsten Funktion aussieht? Zugegeben, es könnte nicht alles kompilierter Code sein, aber einige davon sollten wie kompilierter Code aussehen.
Wenn Sie versuchen, einige Firmware zu hacken, sollten Sie vielleicht herausfinden, wie/wo dies geladen ist und einen Befehlssatz-Simulator erstellen/verwenden. ohne eine Vektor-Tabelle zu beginnen mit, aber viel Spaß.
so, wie Sie Ihre Demontage haben Sie die Adresse Inhalt
S123110001BE8110204D5401BE96102452...
0x1100 : 0x01BE
0x1102 : 0x8110
0x1104 : 0x204D
0x1108 : 0x5401
0x110C : 0xBE96
0x110E : 0x1024
und so weiter verloren, dass oder byteswapped wahrscheinlich
0x1100 : 0xBE01
0x1102 : 0x1081
Sie könnten, dass die SREC nehmen und ein Programm erstellen:
.hword 0xbe01
.hword 0x1081
eins für jeden zusammenhängenden Adressbereich von Elementen, wenn die Adresse springt, beginnt ein neues Datei, erstellen Sie ein Linker-Skript, um die Startadressen jedes Abschnitts abzudecken, assemblieren Sie, erstellen Sie eine _start-Beschriftung in einem von ihnen, verknüpfen Sie mit dem Skript, dann haben Sie eine Elfe, die Sie zerlegen können, ich erwarte immer noch, dass es problematisch ist, aber einige von die relative Adressierung wäre sinnvoll und/oder absolut adressierbar.
Beachten Sie auch, Ihren Eintrittspunkt
S903189351
dass real vorausgesetzt, kein Grund davon ausgehen, dass es ist.
fragen Sie dies auf der Website [Reverse Engineering] (http://reverseengineering.stackexchange.com/) –