Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
idalib-cli — Agent-ориентированный CLI, обёртывающий IDA Pro IDALib для не сохраняющего состояние анализа бинарных файлов с выводом в JSON: дизассемблирование, декомпиляция Hex-Rays, CFG, перекрёстные ссылки, строки, а также пакетная или параллельная обработка IDB. | Kitploit
Инструменты/GitHubGitHub/ylca0/idalib-cli
Статический анализАнализ КодаДинамический анализ кода (DAST)Обратная инженерияСкриптинг и автоматизацияУтилиты и фреймворкиАнализ Бинарных ФайловОбратная Разработка с Помощью ИИ
GitHubylca0/idalib-cli

idalib-cli

Agent-ориентированный CLI, обёртывающий IDA Pro IDALib для не сохраняющего состояние анализа бинарных файлов с выводом в JSON: дизассемблирование, декомпиляция Hex-Rays, CFG, перекрёстные ссылки, строки, а также пакетная или параллельная обработка IDB.

563 дней назадЕщё не проверено
Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

idalib-cli️ idalib-cli

Agent-native CLI для IDA Pro IDALib — каждая команда принимает один флаг -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, строки, имена, перекрёстные ссылки, точки входа, метаданные, комментарии, закладки, FLIRT-сигнатуры.
  • ⚡ batch и parallel — выполнение множества команд при одном открытом IDB; параллельный запуск команды на множестве баз данных (поддерживается glob).
  • 🤖 Agent-first — один JSON-документ в stdout, ошибки в 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. Вывод всегда один 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>Одна функция: CFG, блоки, перекрёстные ссылки
    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]Перекрёстные ссылки на адрес (по умолчанию) или из него (--from), либо все
    idalib-cli -d <db> find --text <s>Поиск текстовых совпадений
    idalib-cli -d <db> find --imm 0x1337Поиск совпадений непосредственных значений
    idalib-cli -d <db> find --pattern 554889e5Поиск шестнадцатеричного байтового шаблона
    idalib-cli -d <db> bytes -a <ea> [-n N] [--width byte|word|dword|qword]Сырые байты (hexdump) или целые числа little-endian
    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>Одна операция на множестве БД, отдельный подпроцесс для каждой
    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
    

    🤖 Пакетная инспекция, удобная для агентов (один 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):

    ПолеОписание
    idadirКаталог установки IDA (по умолчанию: определяется автоматически)
    idb_dirГде создаются новые IDB (по умолчанию: рядом с бинарным файлом)
    default_dbИспользуется, когда -d опущен
    saveСохранять IDB после каждой команды (по умолчанию true)
    auto_analyseЗапускать полный автоанализ при создании IDB (по умолчанию true)

    ❓ FAQ

    Куда попадает IDB, когда я передаю бинарный файл?

    Рядом с бинарным файлом: ./target.bin → ./target.bin.i64. Задайте idb_dir в конфигурации, чтобы изменить расположение.

    Что на самом деле делают batch / parallel?

    batch открывает IDB один раз и выполняет каждую операцию через этот дескриптор (сохраняет один раз в конце) — лучше всего, когда нужно несколько фактов об одной базе данных. parallel запускает один подпроцесс на каждую базу данных (IDALib не потокобезопасен, поэтому изоляция обеспечивается процессом) с пулом воркеров, ограниченным --jobs — лучше всего для множества образцов. -d принимает один путь, список через запятую или glob (*.i64).

    Могут ли два процесса использовать один IDB одновременно?

    Нет. Один процесс на IDB за раз. parallel соблюдает это, запуская один подпроцесс на каждую базу данных; для ручной работы нескольких агентов дайте каждому агенту свою цель -d.

    Почему для сборки требуется IDA SDK?

    idalib-rs генерирует свои FFI-привязки во время компиляции, разбирая заголовки SDK (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; одна ветка разработки + одна ветка релиза на минорную версию:

    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, обновить [package.metadata.ida] в Cargo.toml, открыть новую линию веток (v0.10_*).

    📄 Лицензия

    Распространяется под Apache License 2.0. Поле license в Cargo.toml объявляет MIT OR Apache-2.0 для совместимости с зависимостями idalib-rs; этот репозиторий поставляет только текст Apache-2.0. Никогда не коммитьте и не распространяйте IDA SDK.


    English · 中文

    Скачать инструмент