Forum: PC-Programmierung Disassembler für Motorola S19 Hexfile gesucht


von Rene S. (gigastulle)


Lesenswert?

Hallo zusammen

Ich bin schon seit Tagen auf der Suche nach einem Disassembler bzw 
Decompiler für mir vorliegendes Hex file im s19 Format. Der Code stammt 
von einem MPC563.

Bis jetzt habe ich nur das IDA Pro 6.5 gefunden was das beherscht. Und 
an dieses Tool mit der Version 6.5 zu kommem ist nicht mal auf legalem 
wege möglich, das dieses nur an spezielle Security Unternehmem für sehr 
viel geld verkauft wird.

Auch der Codewarrior von Freescale bietet diese möglichkeit nicht 
wirklich.

Gibt es den garkeine Alternative ein Motorola Hexfile zu dissamblieren 
und zu verstehen was das Program nun genau macht?

Bin für jeden Tipp mehr als dankbar

Gruß Rene

von (prx) A. K. (prx)


Lesenswert?

Es sollte eigentlich nicht so arg schwierig sein, einen einfachen 
nicht-symbolischen Disassembler für PowerPC zu finden. Die GNU binutils 
müssten das können.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Rene Schir schrieb:
> Gibt es den garkeine Alternative ein Motorola Hexfile zu dissamblieren

Das Hexfile ist nur eine Transportverpackung, entscheidend ist der 
Prozessor, für den die Daten gedacht sind; den aber hast Du schon 
genannt.

Such also mal nach "MPC563 disassembler" und Du hast eventuell mehr 
Glück. Auch wenn der gefundene Disassembler keine S19-Dateien verdauen 
können mag, wird es leicht möglich sein, die in ein ihm genehmes Format 
(bin, intel-hex, whatever) zu konvertieren -- wie gesagt, das ist nur 
eine Transportverpackung.

von Rene S. (gigastulle)


Lesenswert?

erst einmal vielen dank für die bisherigen Antworten.

Nach "MPC563 disassembler" habe ich schon ausgiebig bei Tante Google 
gesucht, ich komme aber leider immer wieder bei IDA pro oder Codewarrier 
an.

finde es echt erstaunlich das es so schwierig ist einen disassembler zu 
finden und der wäre ja nur die halbe Miete, den ich brauche ja auch noch 
ein tool mit dem sich der disassemblierte code mal simulieren läst. Denn 
ich möchte den Code ja einlesen, verstehen und verändern :(

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Rene Schir schrieb:
> finde es echt erstaunlich das es so schwierig ist einen disassembler zu
> finden

Hat vielleicht damit zu tun, daß der Controller zu den eher ausgesuchten 
Exoten gehört.
Und damit, daß ein Disassembler auch zu den eher selten benötigten 
Werkzeugen gehört; so etwas wird schließlich nur beim 
Reverse-Engineering benötigt ... und das ist nach Ansicht mancher Leute 
umstritten bis anrüchig.

von Karl M. (movex)


Lesenswert?

Lauterbach Instruction Set Simulator. Datei reinladen, fertig.
http://www.lauterbach.com/sim.html

von Rene S. (gigastulle)


Lesenswert?

Oh danke das program scheint ganz brauchbar zu sein, nur wie lade ich 
die datei da rein und lasse sie dissasamblieren ??? Ich bekomme immer 
nur die Hex-rohdaten angezeigt

von (prx) A. K. (prx)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Hat vielleicht damit zu tun, daß der Controller zu den eher ausgesuchten
> Exoten gehört.

So exotisch nun auch wieder nicht, vom Code her. PowerPC.

von foo (Gast)


Lesenswert?

Rene Schir schrieb:
> Oh danke das program scheint ganz brauchbar zu sein, nur wie lade ich
> die datei da rein und lasse sie dissasamblieren ??? Ich bekomme immer
> nur die Hex-rohdaten angezeigt

d.load example.elf

von Karl M. (movex)


Lesenswert?

Rene Schir schrieb:
> Oh danke das program scheint ganz brauchbar zu sein, nur wie lade ich
> die datei da rein und lasse sie dissasamblieren ??? Ich bekomme immer
> nur die Hex-rohdaten angezeigt

system.reset
system.cpu MPC563
system.up
data.load *
list.asm

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

A. K. schrieb:
> So exotisch nun auch wieder nicht, vom Code her. PowerPC.

Alle PowerPCs sind gleich? Oder sind sie sich nur ähnlich?

von (prx) A. K. (prx)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Alle PowerPCs sind gleich? Oder sind sie sich nur ähnlich?

Es geht um einen Disassembler. Der dürfte circa eine Obermenge der 
existierenden Implementierungen erfassen. Wenn da mal ein Spezialbefehl 
dabei sein sollte, dann wohl nicht massenhaft verwendet. Haarig wirds, 
wenn Codekomprimierung dabei ist, wie IBM mal implementierte.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

A. K. schrieb:
> Es geht um einen Disassembler. Der dürfte circa eine Obermenge der
> existierenden Implementierungen erfassen.

Wenn alle PowerPC-Kernvarianten hingleichend ähnlich sind. Sind sie das?
Ich frag' ja nur, und denke an die Variationsbandbreite, die es unter 
ARMen gibt.

von (prx) A. K. (prx)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Wenn alle PowerPC-Kernvarianten hingleichend ähnlich sind. Sind sie das?
> Ich frag' ja nur, und denke an die Variationsbandbreite, die es unter
> ARMen gibt.

PowerPC ist schon in den 90ern in 64 Bits mit 32-Bit Subset umfangreich 
definiert wurden, skalare Fliesskommarechnung inklusive. IBMs leicht 
abweichender Vorgänger ist heute irrelevant. Dazu kamen später wie 
andernorts auch Erweiterung für SIMD&Co.

Von einer kompakten Alternativ-Codierung wie etwa Thumb habe ich nichts 
vernommen, statt dessen brachte IBM eine tabellengestützte Umcodierung 
auf Basis einer Häufigkeitsanalyse der Hälften der Codeworte des real 
erzeugten Programms.

Ich will aber nicht den Anspruch erheben, da den kompletten Überblick zu 
haben. Das ist bloss das, was ich über die Jahrzehnte mitkriegte.

Die iSeries braucht man hier wohl nicht mit einzubeziehen.

: Bearbeitet durch User
von Karl M. (movex)


Lesenswert?

A. K. schrieb:
> Rufus Τ. Firefly schrieb:
< ...
> Von einer kompakten Alternativ-Codierung wie etwa Thumb habe ich nichts
> vernommen, statt dessen brachte IBM eine tabellengestützte Umcodierung
> auf Basis einer Häufigkeitsanalyse der Hälften der Codeworte des real
> erzeugten Programms.


Zum Thema Thumb, es gibt bei den e200 PowerPC seit 2004 das sog. VLE 
welches 16bit und 32bit Instruktionen mischt. Dieser Core Typ ist auf 
Echtzeit Embeddedsysteme konzipiert, z.B. für Motorsteuergeräte.

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.