Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
idalib-cli — IDA Pro IDALibをラップしたエージェントネイティブCLI。ステートレスなJSON出力のバイナリ解析(逆アセンブル、Hex-Rays逆コンパイル、CFG、xref、文字列)と、バッチまたは並列のIDB処理を提供します。 | Kitploit
ツール/GitHubGitHub/ylca0/idalib-cli
静的分析コード分析動的コード分析 (DAST)リバースエンジニアリングスクリプトと自動化ユーティリティとフレームワークバイナリ解析AI支援リバースエンジニアリング
GitHubylca0/idalib-cli

idalib-cli

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

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

人気

すべて見る →

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

すべてのツールを探索

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

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

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 の要件)

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 のバージョン、ライセンス

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

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

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

🔍 関数を深掘りする

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

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

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

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

# 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"

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

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 ドキュメント)

idalib-cli -d ./sample batch -- "meta" "segments" "functions -u" "decompile -a 0x401000"

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

出力例(decompile)
{
  "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 インストールへリンクします。

📁 プロジェクト構成

ツールをダウンロード