本文へスキップ

Ghidra

公開元: National Security Agency

Ghidra リバースエンジニアリングスイート

オープンソースApache-2.0

主な特徴

  • アセンブリの横に疑似コードを表示する逆アセンブラおよび逆コンパイラ
  • 自動解析により関数、クロスリファレンス、文字列、ジャンプテーブルを特定する
  • プロセッサ仕様はx86やARM以外の多くのアーキテクチャを網羅している
  • JavaおよびPythonでのスクリプト記述に加え、拡張用のプラグインフレームワークを備えている
  • オプションのサーバーコンポーネントにより、複数のアナリストが1つのプロジェクトを共有できる

このアプリケーションについて

Ghidra は、アメリカ合衆国国家安全保障局が公開したリバースエンジニアリングのスイートである。コンパイル済みのバイナリを受け取ってその構造を解析し、機械語を逆アセンブルし、アセンブリと並べて C 言語風の疑似コードを生成するデコンパイラを実行する。一方のビューで変数の名前を変更したり構造体の型を付け直したりすると、もう一方のビューも更新される。

作業は、インポートされた一つ以上のプログラムを保持するプロジェクトとして構成される。自動解析パスが関数、相互参照、文字列、ジャンプテーブルを見つけ出し、そこからリスティングビュー、関数グラフ、シンボルツリー、データ型マネージャ、バイトビューアを用いてバイナリを読み進め、判明したことを記録していくことができる。プロセッサは拡張可能な仕様記述言語で記述されており、そのため対応範囲は x86 と ARM をはるかに超えて、組み込み系や旧来のアーキテクチャにまで及んでいる。

Ghidra は Java で書かれており、適切な Java ランタイムが利用できる環境であればどこでも動作する。スクリプトは Java または Python で記述でき、より大規模な拡張はフレームワークに組み込むことができ、別個のサーバコンポーネントによって複数の解析者が一つのプロジェクトを共有できる。読み手がすでにアセンブリに慣れていることを前提としている。

Linux

当サイトはこのファイルをホストしておらず、スキャンも内容の確認も行いません。出典の記載を読み、ご自身で判断してください。