GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

plasma-disassembler

plasma – Plasmaは、x86 / ARM / MIPS用のインタラクティブディスアセンブラです。 色付きの構文でインデントされた擬似コードを生成す..

投稿日:

Plasmaは、x86 / ARM / MIPS用のインタラクティブディスアセンブラです。 色付きの構文でインデントされた擬似コードを生成することができます。

プラズマ

古いプロジェクト名はReverseでした。

PLASMAはインタラクティブディスアセンブラです。 色付きの構文でより読みやすいアセンブリ(擬似コード)を生成することができます。 利用できるPython APIを使用してスクリプトを書くことができます(下記の例を参照)。 このプロジェクトはまだ大きな進展を遂げています。

wiki :TODOリストといくつかのドキュメント。

それはサポートしています:

  • アーキテクチャ:x86 {64}、ARM、MIPS {64}(部分的にARMとMIPS用)
  • フォーマット:ELF、PE、RAW

警告 :構造体と型定義が実装されない限り、データベースの互換性は損なわれる可能性があります。

要件

  • Python> = 3.4
  • cap石
  • python-pyelftools
  • pefile + python3-future
  • python-msgpack > = 0.4.6
  • c++filt (binutils Linuxパッケージで利用可能)
  • ターミナルはUTF8と256色をサポートするはずです(そうでない場合は--nocolorオプションを使います)

オプション:

  • python-qt4がメモリマップに使用されています
  • スクリプトasm.pyのキーストーン

インストール

./install.sh

または、前のコマンドで要件を既にインストールしている場合は、次のようにします。

./install.sh --update

テストをチェックする:

make
....................................................................................
84/84 tests passed successfully in 2.777975s
analyzer tests...
...

関数の擬似逆コンパイル

$ plasma -i tests/server.bin
>> v main
# you can press tab to show the pseudo decompilation
# | to split the window
# See the command help for all shortcuts

条件付きジャンプを反転させてフローグラフを制御します。

スクリプティング(Python API)

APIについては、 wikiを参照してください。

いくつかの例(これらのスクリプトは血漿/スクリプトに置かれています):

$ plasma -i FILE
plasma> py !strings.py             # print all strings
plasma> py !xrefsto.py FUNCTION    # xdot call graph
plasma> py !crypto.py              # detect some crypto constants
plasma> py !asm.py CODE            # assemble with keystone
plasma> py !disasm.py HEX_STRING   # disassemble a buffer







-plasma-disassembler
-, , , , , ,

執筆者: