Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Cartographer — Ghidra用コードカバレッジ探索プラグイン | Kitploit
ツール/GitHubGitHub/nccgroup/cartographer
動的コード分析 (DAST)リバースエンジニアリングバイナリ解析
GitHubnccgroup/cartographer

Cartographer

Ghidra用コードカバレッジ探索プラグイン

リポジトリを見る
382352年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Cartographer

コードカバレッジを可視化する

Version Build Status License
Watchers Stars Downloads

開発者: Austin Peavy - https://github.com/aus10pv

NCC Group Plc によりオープンソースとして公開 - https://www.nccgroup.com/
Apache 2.0 ライセンスの下で公開されています(詳細は LICENSE を参照)

Cartographer インターフェース

説明

Cartographer は Ghidra 用のコードカバレッジマッピングプラグインであり、ソースコードを必要とせずにプログラムのどの部分が実行されたかを研究者が確認できるようにします。

目次

  • 主要機能
  • インストール
    • プラグインの読み込み
  • 使い方
    • コードカバレッジファイルの読み込み
    • コードカバレッジの詳細
    • カバレッジの切り替え
    • 式パーサー
      • 構文
      • 例
  • コントリビューション
    • ソースからのビルド
    • バグの報告
  • クレジット

主要機能

  • 実行されたコードを色付けします
    • ファンクショングラフ
    • 逆アセンブル(Listing)ビュー
    • デコンパイラビュー
  • 色を完全にカスタマイズ可能
  • Ghidra テーマに対応
  • DRCOV ファイルとカスタム EZCOV ファイルを読み込み可能
    • EZCOV 形式の詳細は EZCOV.md を参照
  • 関数カバレッジの詳細な概要を提供
    • 各関数がどの程度実行されたかを示すヒートマップを含む
  • 読み込んだカバレッジファイル間を簡単に切り替え
  • 関数名で検索可能
  • カバレッジ量などで結果をフィルタリング可能
  • 強力な式パーサー
    • 複数の読み込み済みカバレッジに対して論理演算を実行
  • 異なるアドレス空間のカバレッジに対応

インストール

Cartographer の最新安定版は Releases ページからダウンロードできます。

プラグインの読み込み

  1. Ghidra を起動します。
  2. [Install Extensions] ウィンドウに移動します。
    • File -> Install Extensions...
  3. 右上隅にある緑色の「+」アイコンをクリックします。
  4. ダウンロードした ZIP ファイルを選択して、プラグインを Ghidra に読み込みます。
  5. [OK] ボタンをクリックして [Install Extensions] ウィンドウを終了します。
  6. プロンプトが表示されたら Ghidra を再起動します。

使い方

プラグインを読み込むと、CodeBrowser ウィンドウにコードカバレッジデータを操作するための追加コントロールが表示されます。

コードカバレッジファイルの読み込み

コードカバレッジファイルは、[Tools] メニューから読み込めます: Tools -> Code Coverage -> Load Code Coverage File(s)...

コードカバレッジファイルを読み込むと、すべてのカバレッジデータが Listing ビューと Decompiler ビューですぐにハイライト表示されます。

コードカバレッジファイルの読み込み

コードカバレッジの詳細

各関数のカバレッジデータに関する詳細情報は、Code Coverage ウィンドウで確認できます。

Code Coverage ウィンドウは、Window -> Code Coverage に移動するか、Windows では Ctrl-Shift-C(Mac では Cmd-Shift-C)を押すことで開けます。

このウィンドウには、プログラム内の各関数に関するさまざまな詳細が表示されます:

  • Coverage %: 実行された関数の割合
  • Name: 関数の名前
  • Address: 関数のアドレス(エントリポイント)
  • Blocks Hit: 実行された基本ブロックの数
  • Instructions Hit 実行された命令の数
  • Function Size: 関数のサイズ(バイト単位)

いずれかの関数をクリックすると、Listing ビューと Decompiler ビューでその関数に移動します。

Code Coverage ウィンドウを開く

検索とフィルタリング

Filter 入力ボックスを使用すると、関数を名前で検索できます。

カバレッジテーブルに表示される任意のデータを列フィルタとして使用できます。

データの検索とフィルタリング

カバレッジの切り替え

Code Coverage ウィンドウの右下にあるドロップダウンを使用すると、読み込んだコードカバレッジファイルをすばやく簡単に切り替えられます。

カバレッジ間の切り替え

式パーサー

Code Coverage ウィンドウの下部にあるテキストボックスを使用すると、読み込んだコードカバレッジファイルに対して論理演算を実行できます。

これは、プログラムの異なる実行間の差分や類似点を調べるのに非常に役立ちます。

式パーサーの使用

構文

式パーサー内で使用できる論理演算子は以下のとおりです。

  • &: 両方のカバレッジで実行されたコードのみを取得します
  • |: いずれかのカバレッジで実行されたコードを取得します
  • ^: カバレッジ間で異なる実行コードのみを取得します
  • -: 左側のカバレッジにのみ存在する実行コードを取得します

カバレッジは、ドロップダウンメニューのアルファベット ID(A、B、XY など)で参照されます。

各論理演算は括弧でグループ化され、式は任意の長さや複雑さにできます。

例

  1. カバレッジ A と B の両方で実行されたコードを表示:

    root@kitploit:~
    A & B
    
  2. カバレッジ A と B の間で異なる実行コードを表示:

    root@kitploit:~
    A ^ B
    
  3. B でのみ実行されたコードを表示:

    root@kitploit:~
    B - A
    
  4. A と B にあるすべてのカバレッジデータを結合し、C との差分を検出:

    root@kitploit:~
    (A | B) ^ C
    

コントリビューション

ソースからのビルド

Gradle を使用して、Cartographer をソースコードからビルドできます。

  1. Cartographer の GitHub リポジトリをクローンします。

    root@kitploit:~
    $ git clone https://github.com/nccgroup/Cartographer.git
    
  2. リポジトリに移動して gradle でビルドします。

    root@kitploit:~
    $ cd Cartographer
    $ gradle -PGHIDRA_INSTALL_DIR=<ghidra_install_dir>
    
    • <ghidra_install_dir> をローカルの Ghidra インストールパスに置き換えます。
  3. ビルド後、プラグインの ZIP ファイルは dist/ フォルダにあります。

バグの報告

Cartographer でバグを見つけた場合は、GitHub から issue を開いてください。

クレジット

元々は Lighthouse に触発されました - https://github.com/gaasedelen/lighthouse

ツールをダウンロード