Library disassemblieren (fuer 8051)

Hi Leute,

ich wollte fragen ob jemand weiss ob ich eine lib wieder nach C oder assembler disassemblieren kann und das für den microcontroller 8051. Gibt es so ein tool das das kann?

danke Markus

PS: Der grund dafür ist, dass ich direkt von china ein chipkarten lesegerät gekauft habe und die hatten leider keine beschreibung auf englisch oder deutsch und mitlerweile ist die firma konkurs und ich sitze da ohne beschreibung und nur mit ein paar libs…darum möchte ich aus den libs informationen über die programmierung herausfinden. schlimmes schicksal gell :wink:

Hallo Markus

ich wollte fragen ob jemand weiss ob ich eine lib wieder nach
C oder assembler disassemblieren kann und das für den
microcontroller 8051. Gibt es so ein tool das das kann?

Das Ganze ist nicht eine Frage der CPU, sondern des Compilers.
Nach C ist ziemlich schwierig, aber nach Assembler sollte eigentlich kein Problem sein.

Im schlimmsten Fall must du kleine Programme schreiben welche nur eine Funktion aus der Library aufrufen und das ganze im Debug-Mode linken.
Wie gross die Funktionen sind und welche anderen Funktionen sie AUfrufen kann man dann schon mal am Linker MAP-File erkennen.
Dann das Ganze in einen Debugger oder Simulator laden, welcher mit den Symbolen etwas anfangen kann. Da hast du dann in jedem Fall die Möglichkeit die entsprechenden Teile zu disassemblieren und abzuspeichern.
Mit etwas Nacharbeit hast du dann wieder ein Assembler-Source.

MfG Peter(TOO)

nach ‚c‘ kannst du schlicht vergessen.
nach assembler source code kannst du schlicht vergessen.
als einziges bleibt dir ‚re-engineering‘,
also rueck-uebersetzen in den binaeren code fuer den 8051.
du koenntest ganz sicher auch diesen code veraendern.
richtigen brauchbaren source code wirst du jedoch niemals mehr erhalten, du erstellst hoechstens unuebersichtlichen maschinen-code. und ob du den veraendern moechtest?..
du braeuchtest u.u. auch einen in-circuit-emulator (anschaffungspreis um 4.000.-US§).
und deshalb unterschaetze die aufgabe nicht:
die 8051-familie hats in sich.
dein vorhaben wurde immer wieder versucht -
und es endete stets klaeglich erfolglos.
schade.

solltest du die libs haben, versuch das beste daraus
zu machen anhand der maps usw. wie mein vorredner sagte.
aber sei sicher, dass es auch die richtigen libs sind
und nicht die von der vor-vor-vor-version.

und besorg dir die hw-schaltung dazu.
die hilft auch.

ansonsten wuerde ich das ding einfach einmuellen.
du ‚zeitest‘ dich sonst sinnlos tot an dem projekt.

gruss - digi (40 jahre computer, und besonders der 8051-familie)

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Markus,
C kannst Du vergessen.
Wenn Du den Object-Code hast (am besten in Form eines Hex.Files) kannst Du mit einem Diassembler wieder die Assembler-Memnocis erzeugen (such mal im ggolge nach „8051 disassembler“).
Gruss
Tom