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

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

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

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

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

Категории

Все категории
Loading categories
DAILA — Плагин, не зависящий от конкретного декомпилятора, для взаимодействия с ИИ в вашем декомпиляторе. Поддерживаются GPT-4, Claude и локальные модели! | Kitploit
Инструменты/GitHubGitHub/mahaloz/daila
Анализ уязвимостейАнализ КодаОбратная инженерияАнализ Бинарных ФайловОбратная Разработка с Помощью ИИ
GitHubmahaloz/daila

DAILA

Плагин, не зависящий от конкретного декомпилятора, для взаимодействия с ИИ в вашем декомпиляторе. Поддерживаются GPT-4, Claude и локальные модели!

Репозиторий
70461131 месяц назадПроверено Kitploit

Популярное

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

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

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

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

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

DAILA

The Decompiler Artificially Intelligent Language Assistant (DAILA) — это унифицированный интерфейс для использования AI-систем в декомпиляторах. С помощью DAILA вы можете использовать различные AI-системы, такие как локальные и удалённые LLM, в одних и тех же скриптовых и GUI-интерфейсах во множестве декомпиляторов. DAILA была представлена в программном докладе на HITCON CMT 2023 и была исследована в работе NDSS 2026 "Decompiling the Synergy: An Empirical Study of Human–LLM Teaming in Software Reverse Engineering". Если вы ищете репозиторий с исследованием, он находится здесь.

Присоединяйтесь к нашему Discord ниже для дополнительной онлайн-помощи (размещён на сервере BinSync):

Discord

Поддерживаемые декомпиляторы и AI-системы

DAILA взаимодействует с декомпилятором абстрактно через библиотеку DecLib. Это позволяет DAILA поддерживать следующие декомпиляторы:

  • IDA Pro: >= 8.4
  • Ghidra: >= 12.0
  • Binary Ninja: >= 2.4
  • angr-management: >= 9.0

DAILA поддерживает любые LLM, поддерживаемые , такие как:

LiteLLM
  • ChatGPT
  • Claude
  • Llama2
  • Gemini
  • и другие...

DAILA также поддерживает локальные модели различных типов, например VarBERT — локальную модель для переименования переменных в декомпилированном коде, опубликованную на S&P 2024.

Установка

Установите наш библиотечный бэкенд через pip и плагин для декомпилятора через наш установщик:

root@kitploit:~
pip3 install dailalib && daila --install 

Это облегчённый режим. Если вы хотите использовать VarBERT, необходимо установить полную версию:

root@kitploit:~
pip3 install 'dailalib[full]' && daila --install 

При этом также будут загружены модели VarBERT через VarBERT API. Если вы устанавливаете DAILA на машину без доступа к интернету, например в защищённой сети, вы можете использовать наш Docker-образ из раздела Docker Container.

Дополнительные шаги для Ghidra

Чтобы Ghidra заработал, нужно выполнить несколько дополнительных шагов. Во-первых, вы должны работать в режиме PyGhidra. Для этого перейдите в каталог установки Ghidra и запустите ./support/pyghidraRun.

Затем включите плагин DAILA:

  1. Запустите Ghidra и откройте бинарный файл
  2. Перейдите в меню Windows > Script Manager
  3. Найдите daila и включите скрипт

Для работы версии Ghidra необходимо, чтобы python3 присутствовал в вашем PATH. Мы в буквальном смысле вызываем его из Python 2. Возможно, вам также потребуется добавить $USER_HOME/ghidra_scripts как допустимый путь для скриптов в Ghidra.

Ручная установка (если вышеуказанное не сработало)

Если вышеуказанное не сработало, вам потребуется установить вручную. Для ручной установки сначала выполните pip3 install dailalib в репозитории, затем скопируйте файл daila_plugin.py в каталог плагинов вашего декомпилятора.

Использование

DAILA предназначена для использования двумя способами:

  1. Как плагин для декомпилятора с графическим интерфейсом
  2. Как скриптовая библиотека в вашем декомпиляторе

GUI декомпилятора

За исключением Ghidra (см. ниже), при запуске декомпилятора у вас появится новое контекстное меню, которое доступно при щелчке правой кнопкой мыши в любом месте функции:

Контекстное меню DAILA

Если вы используете Ghidra, перейдите в Tools->DAILA->Start DAILA Backend, чтобы запустить бэкенд-сервер. После этого вы можете использовать контекстное меню, как показано выше.

Скрипты

Вы можете использовать DAILA в своих скриптах, импортировав пакет dailalib. Вот пример использования OpenAI API:

root@kitploit:~
from dailalib import LiteLLMAIAPI
from declib.api import DecompilerInterface

deci = DecompilerInterface.discover()
ai_api = LiteLLMAIAPI(decompiler_interface=deci)
for function in deci.functions:
    summary = ai_api.summarize_function(function)

Docker Container

Если вы пытаетесь установить DAILA для разовой установки, после которой интернет использоваться не будет, например в защищённой сети, вы можете воспользоваться нашим Docker-контейнером. Вы можете либо собрать контейнер самостоятельно, сохранить образ в tar-архив, а затем загрузить его на целевую машину, либо использовать наш готовый образ. Вы можете собрать контейнер самостоятельно, выполнив docker build . -t daila в корне этого репозитория. Вы также можете загрузить наш готовый образ, выполнив docker pull mahaloz/daila:latest (образ предназначен для x86_64 Linux). Контейнер содержит DAILA и копию Ghidra.

Теперь вам нужно пробросить X11 в контейнер, чтобы видеть GUI. Для этого запустите контейнер со следующими флагами:

root@kitploit:~
docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix mahaloz/daila:latest

В контейнере вы можете запустить Ghidra из /tools/ghidra_10.4_PUBLIC/ghidraRun. Затем следуйте разделу Дополнительные шаги для Ghidra, чтобы включить плагин DAILA — и всё готово!

Поддерживаемые AI-бэкенды

LiteLLM (множество бэкендов)

DAILA поддерживает API LiteLLM, который, в свою очередь, поддерживает различные бэкенды, такие как OpenAI. Для использования коммерческого LLM API необходимо предоставить собственный API-ключ. Например, для использования OpenAI API вам понадобится ключ OpenAI API. Если ваш декомпилятор не имеет доступа к переменной окружения OPENAI_API_KEY, вы должны использовать опцию DAILA для установки API-ключа.

В Settings вы также можете добавить/использовать любую LLM-конечную точку на основе OpenAI, например Llama2.

В настоящее время DAILA поддерживает следующие промпты:

  • Суммирование функции
  • Переименование переменных
  • Переименование функции
  • Определение источника функции
  • Поиск потенциальных уязвимостей в функции
  • Суммирование man-страницы библиотечного вызова
  • Свободные промпты... просто введите свой собственный промпт!

VarBERT

VarBERT — это локальная модель BERT из статьи S&P 2024 ""Len or index or count, anything but v1": Predicting Variable Names in Decompilation Output with Transfer Learning". VarBERT предназначена для переименования переменных (стековых, регистровых и аргументов) в декомпилированном коде. Чтобы узнать, как использовать VarBERT в качестве библиотеки, обратитесь к документации VarBERT API. Использовать её в DAILA так же просто, как контекстное меню GUI при щелчке по функции.

Демо

Ниже вы можете найти демо работы VarBERT внутри DAILA:

VarBERT Demo

Поддерживаемые декомпиляторы

  • IDA

  • Binja

  • Ghidra

  • angr management

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