Python x86/64 Disassembler

Mit dieser neuen Studie möchte ich das Projekt j-bios eventuell erweitern. Es handelt sich um einen in Python geschriebenen Disassembler für x86er CPUs, mit einigen 64-Bit Erweiterungen.

Noch wird nicht der komplette x86/64er Befehlssatz unterstützt, disasm.py ist aber leicht erweiterbar und soll auch dazu anregen.

Dieser Disassembler kann und soll keinen anderen Produkten Konkurrenz machen. Es ist eher als ein Studienobjekt zu betrachten, um besser hinter die Funktionsweise einer CPU und deren Befehlsverarbeitung blicken zu können.

Dateien:

main.py (für den Aufruf mit einer PE-Datei, wie beispielsweise exe oder dll)
disasm.py (die Disassembler-Klasse)
util.py (Bibliotheksfunktionen)

18.02.2012

Neue Version:

  • Kommentarsystem
  • einfache State-Machine
  • Sprungtabellen

16.02.2012

Neue Version unterstützt neue Instruktionen und einen erweiterten "Smart-Mode", der Funktionen besser erkennt und Sprünge (bald auch indirekte) verfolgt.
Ein Data-Segment ist nun vorbereitend integriert, wird aber noch nicht in die Analyse einbezogen.