このGhidraチュートリアルで学ぶこと
基本手順は、プロジェクト作成、ファイル読み込み、アーキテクチャ確認、自動解析、関数の特定、アセンブリと疑似コードの比較です。
各結論を支えるアドレス、参照、条件を記録しながら、証拠に基づいて一段階ずつ進めます。
- 基本手順は、プロジェクト作成、ファイル読み込み、アーキテクチャ確認、自動解析、関数の特定、アセンブリと疑似コードの比較です。
- 各結論を支えるアドレス、参照、条件を記録しながら、証拠に基づいて一段階ずつ進めます。
- CodeBrowser + Listing + Decompiler
- XRefs + Function Graph
安全な練習環境を準備する
自作プログラム、オープンソース、許可された学習用課題を使います。不明なファイルは隔離した仮想マシンで扱い、静的解析中に実行しません。
各結論を支えるアドレス、参照、条件を記録しながら、証拠に基づいて一段階ずつ進めます。
自作プログラム、オープンソース、許可された学習用課題を使います。不明なファイルは隔離した仮想マシンで扱い、静的解析中に実行しません。
プロジェクト作成・読み込み・自動解析
非共有プロジェクトを作成し、形式、プロセッサー、エンディアン、コンパイラー設定を確認してから自動解析を実行します。
各結論を支えるアドレス、参照、条件を記録しながら、証拠に基づいて一段階ずつ進めます。
- 1
プロジェクト
非共有プロジェクトを作成し、形式、プロセッサー、エンディアン、コンパイラー設定を確認してから自動解析を実行します。
- 2
読み込み
各結論を支えるアドレス、参照、条件を記録しながら、証拠に基づいて一段階ずつ進めます。
- 3
解析
非共有プロジェクトを作成し、形式、プロセッサー、エンディアン、コンパイラー設定を確認してから自動解析を実行します。

CodeBrowser、Listing、シンボルを理解する
Listingはアドレス、バイト、命令を表示し、Decompilerは高水準の解釈を表示します。Symbol Tree、文字列、検索を組み合わせます。
各結論を支えるアドレス、参照、条件を記録しながら、証拠に基づいて一段階ずつ進めます。
| 画面 | 用途 | 操作 |
|---|---|---|
| Listing | 命令 | 確認 |
| Decompiler | 疑似コード | 解釈 |
| Symbol Tree | シンボル | 移動 |
| Defined Strings | 文字列 | 手掛かりを探す |
Ghidraのデコンパイラを正しく使う
疑似コードは理解を速めますが、重要な判断はListingで確認します。根拠に基づいて関数名、変数名、型、コメントを改善します。
各結論を支えるアドレス、参照、条件を記録しながら、証拠に基づいて一段階ずつ進めます。
- 1
手掛かりを探す
疑似コードは理解を速めますが、重要な判断はListingで確認します。根拠に基づいて関数名、変数名、型、コメントを改善します。
- 2
参照を追う
各結論を支えるアドレス、参照、条件を記録しながら、証拠に基づいて一段階ずつ進めます。
- 3
根拠を確認
疑似コードは理解を速めますが、重要な判断はListingで確認します。根拠に基づいて関数名、変数名、型、コメントを改善します。

参照と関数グラフを追う
XRefsで使用箇所、呼び出し元、参照先を確認し、Function Graphで分岐、ループ、別経路を可視化します。
各結論を支えるアドレス、参照、条件を記録しながら、証拠に基づいて一段階ずつ進めます。

30分の最初の解析練習
成功・失敗メッセージを探し、参照をたどり、判定関数を特定して、重要な条件を根拠とともに説明します。
各結論を支えるアドレス、参照、条件を記録しながら、証拠に基づいて一段階ずつ進めます。
- 0-5
- 5-12
- 12-22
- 22-30
初心者によくあるミス
疑似コードを元ソースだと決めつけず、アーキテクチャを確認し、解析完了を待ち、不明なファイルを実行しないでください。
各結論を支えるアドレス、参照、条件を記録しながら、証拠に基づいて一段階ずつ進めます。
| 問題 | リスク | 改善策 |
|---|---|---|
| 疑似コード | 誤った判断 | 確認 |
| アーキテクチャ | 誤った解析 | 再読み込み |
| 不明なファイル | 安全上のリスク | 隔離環境 |
次に学ぶことと公式資料
小さな合法サンプルで同じ流れを繰り返し、公式ドキュメントとPyGhidraガイドへ進みます。 GhidraDocs.
画像はNSAのGhidra公式リポジトリに掲載されたものです。確認済みバージョンは2026年6月5日公開のGhidra 12.1.2です。 PyGhidra.
Ghidraの使い方 FAQ
Ghidraは安全ですか?
公式GitHubリリースから入手し、不明なファイルは隔離環境で実行せずに解析してください。
初心者はデバッガーから始めるべきですか?
最初は静的解析で関数、参照、制御フローの操作を覚えてください。
元のソースコードを完全に復元できますか?
できません。デコンパイラは有用な解釈を生成しますが、元ソースそのものではありません。
Ghidraを更新する方法は?
新しい公式版を別フォルダーに展開し、拡張機能の互換性を確認してください。
どのファイルを解析できますか?
自作、許可済み、オープンソース、学習用のファイルだけを使用してください。