
Plasma ist ein interaktiver Disassembler für x86/ARM/MIPS. Er kann eingerückten Pseudocode mit farbiger Syntax generieren.
Der alte Projektname war Reverse.
PLASMA ist ein interaktiver Disassembler. Es kann einen besser lesbaren Assemblercode (Pseudocode) mit farbiger Syntax erzeugen. Sie können Skripte mit der verfügbaren Python-API schreiben (siehe Beispiel unten). Das Projekt befindet sich noch in der intensiven Entwicklung.
wiki : TODO-Liste und einige Dokumentation.
Es unterstützt :
Warnung: Solange keine Strukturen und Typdefinitionen implementiert sind, könnte die Datenbankkompatibilität gebrochen sein.
c++filt (im binutils-Linux-Paket verfügbar)--nocolor)Optional :
python-qt4 verwendet für die Speicherkarte./install.sh
Oder wenn Sie die Abhängigkeiten bereits mit dem vorherigen Befehl installiert haben:
./install.sh --update
Tests überprüfen :
make
....................................................................................
84/84 tests passed successfully in 2.777975s
analyzer tests...
...
$ plasma -i tests/server.bin
>> v main
# Sie können die Tabulatortaste drücken, um die Pseudo-Dekompilierung anzuzeigen
# | um das Fenster zu teilen
# Siehe die Befehlshilfe für alle Tastenkombinationen

Übernehmen Sie die Kontrolle über den Flussgraphen, indem Sie bedingte Sprünge umkehren:

Weitere Informationen finden Sie im Wiki zur API.
Einige Beispiele (diese Skripte befinden sich in plasma/scripts) :
$ plasma -i FILE
plasma> py !strings.py # gibt alle Zeichenketten aus
plasma> py !xrefsto.py FUNCTION # xdot Aufrufgraph
plasma> py !crypto.py # erkennt einige Kryptokonstanten
plasma> py !asm.py CODE # assembliert mit keystone
plasma> py !disasm.py HEX_STRING # disassembliert einen Puffer