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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/ylca0/idalib-cli
静的分析コード分析動的コード分析 (DAST)リバースエンジニアリングスクリプトと自動化ユーティリティとフレームワークバイナリ解析AI支援リバースエンジニアリング
GitHubylca0/idalib-cli

idalib-cli

IDA Pro IDALibをラップしたエージェントネイティブCLI。ステートレスなJSON出力のバイナリ解析(逆アセンブル、Hex-Rays逆コンパイル、CFG、xref、文字列)と、バッチまたは並列のIDB処理を提供します。

リポジトリを見る
563日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

idalib-cli️ idalib-cli

IDA Pro IDALib 向けのエージェントネイティブ CLI — すべてのコマンドは 1 つの -d/--db フラグを取り、すべての応答は JSON です。

English · 中文

IDA Pro 9.1 idalib-rs 0.6.1 v0.9.1 Apache-2.0


✨ 機能

  • 🗄️ ステートレス — -d/--db <PATH>(バイナリまたは .i64)を渡すだけ。デーモンもセッション管理も不要です。
  • 💾 永続的な IDB 状態 — IDB ファイルそのものが状態です。コメント、ブックマーク、名前、解析結果はプロセスをまたいで保持されます。
  • 🧩 IDALib を完全カバー — セグメント、関数、CFG、逆アセンブル、Hex-Rays 逆コンパイル、文字列、名前、xref、エントリ、メタデータ、コメント、ブックマーク、FLIRT シグネチャ。
  • ⚡ batch と parallel — 1 つの IDB を開いたまま多数のコマンドを実行。1 つのコマンドを多数のデータベースへ並行展開(glob 対応)。
  • 🤖 エージェントファースト — stdout には 1 つの JSON ドキュメント、エラーは stderr へ。Codex / Claude Code / OpenCode 用のスキルを同梱。
  • 🚀 インストール

    前提条件: IDA Pro 9.1(ライセンス済み、一度起動済みであること) · IDA 9.1 SDK を展開済み(ビルド時のみ) · Rust + LLVM/Clang(bindgen の要件)

    root@kitploit:~
    export IDADIR="/Applications/IDA Professional 9.1.app/Contents/MacOS"  # IDA install dir
    export IDASDKDIR=/path/to/idasdk91                                     # unpacked SDK (absolute path!)
    
    git clone <this-repo> && cd idalib-cli
    cargo install --path .
    
    idalib-cli info    # ✅ verify tool version, IDA version, license
    

    SDK が必要なのはビルド時のみです。バイナリは実行時にローカルの IDA ライブラリへリンクします。SDK なしでの開発チェック: cargo test --no-default-features --features stub-idalib。

    🎮 コマンドと使い方

    すべてのコマンドには -d/--db <PATH> が必要です — IDB ファイル(.i64)またはバイナリを指定します(初回使用時にその隣に IDB が作成されます)。アドレスは 0x401000 または 401000 を受け付けます。出力は常に 1 つの JSON ドキュメントで、エラーは非ゼロの終了コードとともに stderr へ出力されます。

    データベース

    コマンド説明
    idalib-cli -d <bin-or-i64> db info解決されたパス、IDB の状態、サイズ

    クエリ

    コマンド説明
    idalib-cli -d <db> metaファイルタイプ、コンパイラ、ビット数
    idalib-cli -d <db> processorプロセッサ情報
    idalib-cli -d <db> segmentsすべてのセグメント
    idalib-cli -d <db> segments-by-range -a <ea>指定アドレスを含むセグメント
    idalib-cli -d <db> functions [-u]関数一覧(-u = lib/thunk をスキップ)
    idalib-cli -d <db> function -a <ea>1 つの関数: CFG、ブロック、xref
    idalib-cli -d <db> disasm -a <ea> [-n N]N 命令を逆アセンブル(デフォルト 8)
    idalib-cli -d <db> decompile -a <ea> [--all-blocks]Hex-Rays 疑似コード
    idalib-cli -d <db> insn -a <ea>単一命令(+ group/is_call/is_ret の分類)
    idalib-cli -d <db> strings文字列一覧
    idalib-cli -d <db> names名前付きロケーション
    idalib-cli -d <db> xrefs [-a <ea>] [--all] [--from]指定アドレスへの xref(デフォルト)またはそこからの xref(--from)、あるいはすべて
    idalib-cli -d <db> find --text <s>テキストヒットを検索
    idalib-cli -d <db> find --imm 0x1337即値ヒットを検索
    idalib-cli -d <db> find --pattern 554889e516 進バイトパターンを検索
    idalib-cli -d <db> bytes -a <ea> [-n N] [--width byte|word|dword|qword]生バイト(hexdump)またはリトルエンディアン整数
    idalib-cli -d <db> entriesエントリポイント

    編集(IDB に永続化)

    コマンド説明
    idalib-cli -d <db> comments get|set|append|remove -a <ea> [-c "text"]コメント
    idalib-cli -d <db> bookmarks list|add|get|remove -a <ea> [-d "desc"]ブックマーク
    idalib-cli -d <db> rename -a <ea> -n <name>関数 / データラベルの名前変更
    idalib-cli -d <db> set-type -a <ea> -t "int f(int, char *);"C 型宣言を適用(関数プロトタイプ / データ型)
    idalib-cli -d <db> signatures --make [--only-pat]FLIRT シグネチャを生成

    組み合わせ

    コマンド説明
    idalib-cli -d <db> batch -- <op> [<op>...]逐次オペレーション、IDB は一度だけ開く
    idalib-cli parallel -d <list|glob> [--jobs N] -- <op>1 つのオペレーションを多数の DB へ、それぞれサブプロセスで実行
    idalib-cli info [--version|--ida|--all]ツール / IDA のバージョン、ライセンス

    シナリオ別ウォークスルー

    🔎 未知のバイナリをトリアージする

    root@kitploit:~
    idalib-cli -d ./sample meta            # what is it? (filetype/compiler/bitness)
    idalib-cli -d ./sample segments        # memory layout
    idalib-cli -d ./sample strings         # quick hints
    idalib-cli -d ./sample functions -u    # user code only
    

    🔍 関数を深掘りする

    root@kitploit:~
    idalib-cli -d ./sample function -a 0x401000       # CFG + blocks + xrefs
    idalib-cli -d ./sample decompile -a 0x401000      # read the pseudo-code
    idalib-cli -d ./sample disasm -a 0x401000 -n 20   # or the raw instructions
    idalib-cli -d ./sample xrefs -a 0x401000 --all    # who calls it
    

    📝 発見事項を注記する(プロセス/エージェントをまたいで保持される)

    root@kitploit:~
    idalib-cli -d ./sample comments set -a 0x401000 -c "parses config, see 0x402100"
    idalib-cli -d ./sample bookmarks add -a 0x401000 -d "entry point"
    idalib-cli -d ./sample comments get -a 0x401000    # verify
    

    ⚡ 多数のサンプルを一括解析する

    root@kitploit:~
    # first pass: create IDBs + overview for every sample
    idalib-cli parallel -d "./samples/*.bin" -- "batch -- meta functions -u"
    
    # deep pass: decompile one hot function in every IDB
    idalib-cli parallel -d "./samples/*.i64" --jobs 8 -- "decompile -a 0x401000"
    

    🔎 生データを検索・検査する

    root@kitploit:~
    idalib-cli -d ./sample find --text "MAGIC"            # string hits
    idalib-cli -d ./sample find --imm 0x1337              # immediate-value hits
    idalib-cli -d ./sample find --pattern 554889e5        # byte pattern (prologue)
    idalib-cli -d ./sample bytes -a 0x401000 -n 32        # hexdump
    idalib-cli -d ./sample bytes -a 0x401000 --width qword -n 4
    idalib-cli -d ./sample xrefs -a 0x401000 --from       # outgoing refs (calls)
    idalib-cli -d ./sample rename -a 0x401000 -n decrypt  # label it
    idalib-cli -d ./sample set-type -a 0x401000 -t "int f(const char *, int);"  # set prototype
    

    🤖 エージェントフレンドリーな一括検査(1 つの JSON ドキュメント)

    root@kitploit:~
    idalib-cli -d ./sample batch -- "meta" "segments" "functions -u" "decompile -a 0x401000"
    

    エージェントワークフローガイド: skills/idalib-cli/SKILL.md。実行可能な エンドツーエンドの例は examples/workflow.sh にあります。

    出力例(decompile)
    root@kitploit:~
    {
      "id": 7,
      "start": "0x401000",
      "end": "0x401080",
      "size": 128,
      "name": "main",
      "blocks": 3,
      "decompiled": true,
      "pseudocode": "int __cdecl main(...) { ... }"
    }
    

    ⚙️ 設定

    任意の ~/.idapro/idalib-cli/config.toml(ベースディレクトリ: $IDALIB_CLI_HOME):

    フィールド説明
    idadirIDA のインストールディレクトリ(デフォルト: 自動検出)
    idb_dir新しい IDB を作成する場所(デフォルト: バイナリの隣)
    default_db-d を省略したときに使用される
    save各コマンド後に IDB を保存する(デフォルト true)
    auto_analyseIDB 作成時に完全な自動解析を実行する(デフォルト true)

    ❓ FAQ

    バイナリを渡したとき、IDB はどこに作成されますか?

    バイナリの隣です: ./target.bin → ./target.bin.i64。場所を変更するには 設定の idb_dir を指定してください。

    batch / parallel は実際に何をしますか?

    batch は IDB を一度だけ開き、そのハンドルに対してすべてのオペレーションを実行します(最後に一度だけ保存)— 1 つのデータベースについて複数の情報が必要な場合に最適です。parallel はデータベースごとに 1 つのサブプロセスを起動し(IDALib はスレッドセーフではないため、プロセス単位で分離します)、--jobs で上限を設定したワーカープールを使用します — 多数のサンプルに最適です。 -d は単一のパス、カンマ区切りのリスト、または glob(*.i64)を受け付けます。

    2 つのプロセスが同時に同じ IDB を使用できますか?

    できません。一度に 1 つの IDB につき 1 つのプロセスです。parallel はデータベースごとに 1 つの サブプロセスを起動することでこれを守ります。手動でのマルチエージェント作業では、各エージェントに それぞれ独自の -d ターゲットを与えてください。

    ビルドに IDA SDK が必要なのはなぜですか?

    idalib-rs はコンパイル時に SDK ヘッダーを解析して FFI バインディングを生成します(bindgen)。SDK は Hex-Rays ライセンスにのみ付属し、再配布や埋め込みは一切行われません — ビルドされたバイナリは実行時に あなた自身の IDA インストールへリンクします。

    📁 プロジェクト構成

    root@kitploit:~
    idalib-cli/
    ├── src/
    │   ├── cli.rs            # clap definitions; every command + -d/--db
    │   ├── ops/              # metadata, comments, bookmarks, db, batch, parallel, ...
    │   ├── session/          # config.toml handling
    │   └── helpers/          # JSON output views
    ├── stubs/idalib/         # dev-only API stub (SDK-free checks, never shipped)
    ├── tests/                # integration tests
    ├── skills/idalib-cli/   # single agent skill (workflow guide)
    └── examples/workflow.sh  # runnable end-to-end example
    

    🌿 バージョンとブランチ

    ツールのバージョンは x.y.z です。マイナーごとに 1 つの dev ブランチと 1 つの release ブランチがあります:

    Ref目的例
    main最新の開発(v*_dev のマージ先)—
    v0.9_devツール 0.9.x の開発ブランチ現在の作業
    v0.9_releaseツール 0.9.x の安定ブランチ(修正のみ)バックポート
    v0.9.1(タグ)リリースポイント現在のリリース
    ツールバージョン対応 IDAidalib-rs
    0.9.x9.10.6.1(=0.6.1 に固定)
    次期(v0.10_*)新しい IDA バージョン依存関係を更新

    新しい IDA バージョンへの対応 = idalib 依存関係を更新し、Cargo.toml の [package.metadata.ida] を更新し、新しいブランチライン(v0.10_*)を開く。

    📄 ライセンス

    Apache License 2.0 の下で配布されています。Cargo.toml の license フィールドは idalib-rs の依存関係との互換性のために MIT OR Apache-2.0 を宣言していますが、このリポジトリは Apache-2.0 のテキストのみを同梱しています。 IDA SDK をコミットしたり再配布したりしないでください。


    English · 中文

    ツールをダウンロード