
Plasmaはx86/ARM/MIPS用のインタラクティブな逆アセンブラです。色付きの構文でインデントされた疑似コードを生成できます。
旧プロジェクト名は Reverse でした。
PLASMA は対話型逆アセンブラです。カラーシンタックスを使用して、より読みやすいアセンブリ(疑似コード)を生成できます。利用可能な Python API を使用してスクリプトを作成できます(以下の例を参照)。プロジェクトはまだ大規模な開発中です。
wiki : TODO リストといくつかのドキュメント。
対応しているもの:
警告: 構造体と型定義が実装されるまでは、データベースの互換性が失われる可能性があります。
c++filt(Linux の binutils パッケージに含まれています)--nocolor オプションを使用してください)オプション:
python-qt4:メモリマップに使用./install.sh
または、前のコマンドで要件がすでにインストールされている場合:
./install.sh --update
テストの確認:
make
....................................................................................
84/84 tests passed successfully in 2.777975s
analyzer tests...
...
$ plasma -i tests/server.bin
>> v main
# tab キーを押すと擬似逆コンパイルが表示されます
# | でウィンドウを分割します
# すべてのショートカットについてはコマンドヘルプを参照してください

条件付きジャンプを反転させることでフローグラフを制御できます:

API の詳細は wiki を参照してください。
例(これらのスクリプトは plasma/scripts に配置されています):
$ plasma -i FILE
plasma> py !strings.py # すべての文字列を表示
plasma> py !xrefsto.py FUNCTION # xdot 呼び出しグラフ
plasma> py !crypto.py # 暗号関連の定数を検出
plasma> py !asm.py CODE # keystone でアセンブル
plasma> py !disasm.py HEX_STRING # バッファを逆アセンブル