
Ghidraは、国家安全保障局の研究局によって作成および維持されているソフトウェアリバースエンジニアリング(SRE)フレームワークです。このフレームワークには、ユーザーがWindows、MacOS、Linuxなどのさまざまなプラットフォームでコンパイルされたコードを分析できるようにする、フル機能のハイエンドソフトウェア分析ツールのスイートが含まれています。機能には、分解、アセンブリ、逆コンパイル、グラフ、スクリプト、および他の何百もの機能が含まれます。 Ghidraは、さまざまなプロセッサ命令セットと実行可能な形式をサポートし、ユーザーインタラクティブモードと自動化されたモードの両方で実行できます。ユーザーは、JavaまたはPythonを使用して独自のGhidra拡張コンポーネントやスクリプトを開発することもできます。
NSAのサイバーセキュリティミッションをサポートするため、Ghidraは複雑なSREの取り組みに関するスケーリングとチームの問題を解決し、カスタマイズ可能で拡張可能なSRE研究プラットフォームを提供するために構築されました。 NSAは、ネットワークとシステムの潜在的な脆弱性をよりよく理解するSREアナリストの悪意のあるコードを分析し、深い洞察を生成することを含む、Ghidra SRE機能をさまざまな問題に適用しました。
あなたがこのようなプロジェクトに関心のある米国市民である場合、GhidraやNSAの他のサイバーセキュリティツールを開発して、私たちの国とその同盟国を保護するのに役立ちます。
警告: Ghidraの特定のバージョンには既知のセキュリティの脆弱性があります。先に進む前に、あなたがどのように影響を受けるかをよりよく理解するために、Ghidraのセキュリティアドバイザリーを読んでください。
公式の事前に構築されたマルチプラットフォームGhidraリリースをインストールするには:
ghidra_<version>_<release>_<date>.zip 「アセット」ドロップダウンの下にあります。 「ソースコード」という名前のファイルのいずれかをダウンロードすることは、このステップでは正しくありません。./ghidraRun (またはghidraRun.bat for Windows) Ghidraリリースのインストールと実行に関する追加情報とトラブルシューティングのヒントについては、 docs/InstallationGuide.htmlのGhidraリリースにあるインストールガイドを参照してください。
このソースリポジトリからプラットフォーム用の最新の開発ビルドを作成するには:
Githubからダウンロードしてください
unzip ghidra-master
cd ghidra-master
注:圧縮されたソースをダウンロードする代わりに、GitHubリポジトリをクローンする代わりに: git clone https://github.com/NationalSecurityAgency/ghidra.git
注:インターネット接続が利用可能で、Gradleをインストールしなかった場合、次のgradleコマンドを./gradle(.bat)に置き換えることができます。
gradle -I gradle/support/fetchDependencies.gradle
gradle buildGhidra
圧縮開発ビルドは、 build/dist/にあります。
Ghidraの構築に関する詳細については、開発者ガイドをお読みください。
問題の構築については、既知の問題セクションで可能なソリューションを確認してください。
Ghidraインストールは、ユーザーがEclipseのGhidradevプラグインを介してカスタムスクリプトと拡張機能を作成することをサポートしています。プラグインとその対応する命令はExtensions/Eclipse/GhidraDev/またはこのリンクでGhidraリリース内にあります。
注: Eclipse用のGhidradevプラグインは、リリースページからダウンロードできる完全に構築されたGhidraインストールに対する開発のみをサポートしています。
Ghidraツール自体を開発するには、Ghidra開発プロセスが高度にカスタマイズされているEclipseを使用することを強くお勧めします。
gradle prepdev eclipse buildNatives
Eclipseがプロジェクトの構築を終了すると、Ghidraを起動して、提供されたGhidra Eclipse Run構成でデバッグできます。
Ghidraの開発に関する詳細については、開発者ガイドをお読みください。
バグの修正、改善、新機能をGhidraに戻したい場合は、このオープンソースプロジェクトにどのように参加できるかを確認して、貢献者ガイドをご覧ください。