Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
DAILA — 디컴파일러에 구애받지 않고 디컴파일러 내에서 AI와 상호작용할 수 있는 플러그인입니다. GPT-4, Claude 및 로컬 모델을 지원합니다! | Kitploit
도구/GitHubGitHub/mahaloz/daila
Vulnerability AnalysisCode AnalysisReverse EngineeringBinary AnalysisAI-Assisted Reversing
GitHubmahaloz/daila

DAILA

디컴파일러에 구애받지 않고 디컴파일러 내에서 AI와 상호작용할 수 있는 플러그인입니다. GPT-4, Claude 및 로컬 모델을 지원합니다!

저장소 보기
704611개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

DAILA

DAILA(Decompiler Artificially Intelligent Language Assistant)는 디컴파일러에서 AI 시스템을 사용할 수 있게 해주는 통합 인터페이스입니다. DAILA를 사용하면 로컬 및 원격 LLM과 같은 다양한 AI 시스템을 여러 디컴파일러에 걸쳐 동일한 스크립팅 및 GUI 인터페이스에서 활용할 수 있습니다. DAILA는 HITCON CMT 2023의 기조 강연에서 소개되었으며, NDSS 2026 연구 "Decompiling the Synergy: An Empirical Study of Human–LLM Teaming in Software Reverse Engineering"에서 연구되었습니다. 논문 저장소를 찾고 있다면 여기에서 확인하세요.

더 많은 온라인 도움을 보려면 아래 디스코드에 참여하세요 (BinSync 서버에서 운영됩니다):

Discord

지원되는 디컴파일러 및 AI 시스템

DAILA는 DecLib 라이브러리를 통해 디컴파일러와 추상적으로 상호작용합니다. 이를 통해 DAILA는 다음 디컴파일러를 지원합니다:

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

DAILA는 LiteLLM에서 지원되는 모든 LLM을 지원합니다. 예를 들어:

  • ChatGPT
  • Claude
  • Llama2
  • Gemini
  • 그 외 다수...

DAILA는 또한 다양한 유형의 로컬 모델을 지원합니다. 예를 들어, S&P 2024에서 발표된 디컴파일 결과의 변수 이름을 바꾸는 로컬 모델인 VarBERT가 있습니다.

설치

pip를 통해 라이브러리 백엔드를 설치하고 설치 프로그램을 통해 디컴파일러 플러그인을 설치하세요:

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

이것은 라이트 모드입니다. VarBERT를 사용하려면 전체 버전을 설치해야 합니다:

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

이렇게 하면 VarBERT API를 통해 VarBERT 모델도 다운로드됩니다. 설치 후 인터넷에 접속할 수 없는 보안 네트워크와 같은 머신에 DAILA를 설치하는 경우 Docker Container 섹션의 Docker 이미지를 사용할 수 있습니다.

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. GUI가 포함된 디컴파일러 플러그인으로 사용
  2. 디컴파일러에서 스크립팅 라이브러리로 사용

디컴파일러 GUI

Ghidra(아래 참조)를 제외하고, 디컴파일러를 시작하면 함수의 아무 곳이나 마우스 오른쪽 버튼으로 클릭하여 접근할 수 있는 새 컨텍스트 메뉴가 생깁니다:

DAILA context menu

Ghidra를 사용하는 경우 Tools->DAILA->Start DAILA Backend로 이동하여 백엔드 서버를 시작하세요. 이 작업을 완료하면 위와 같이 컨텍스트 메뉴를 사용할 수 있습니다.

스크립팅

dailalib 패키지를 import하여 자신만의 스크립트에서 DAILA를 사용할 수 있습니다. 다음은 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 컨테이너를 사용할 수 있습니다. 컨테이너를 직접 빌드하여 이미지를 tarball로 저장한 다음 대상 머신에 로드하거나, 미리 빌드된 이미지를 사용할 수 있습니다. 이 저장소의 루트에서 docker build . -t daila를 실행하여 직접 빌드할 수 있습니다. 또한 docker pull mahaloz/daila:latest를 실행하여 미리 빌드된 이미지를 다운로드할 수 있습니다 (이미지는 x86_64 Linux용입니다). 컨테이너에는 DAILA와 Ghidra 사본이 포함되어 있습니다.

이제 GUI를 볼 수 있도록 컨테이너로 X11을 전달해야 합니다. 이렇게 하려면 다음 플래그로 컨테이너를 실행해야 합니다:

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

컨테이너에서 /tools/ghidra_10.4_PUBLIC/ghidraRun을 통해 Ghidra를 실행할 수 있습니다. 이제 Ghidra 추가 단계에 따라 DAILA 플러그인을 활성화하면 끝입니다!

지원되는 AI 백엔드

LiteLLM (다양한 백엔드)

DAILA는 LiteLLM API를 지원하며, LiteLLM API는 OpenAI와 같은 다양한 백엔드를 지원합니다. 상용 LLM API를 사용하려면 자체 API 키를 제공해야 합니다. 예를 들어 OpenAI API를 사용하려면 OpenAI API 키가 있어야 합니다. 디컴파일러가 OPENAI_API_KEY 환경 변수에 접근할 수 없는 경우, DAILA의 디컴파일러 옵션을 사용하여 API 키를 설정해야 합니다.

Settings에서 Llama2와 같은 OpenAI 기반 LLM 엔드포인트를 추가/사용할 수도 있습니다.

현재 DAILA는 다음 프롬프트를 지원합니다:

  • 함수 요약
  • 변수 이름 바꾸기
  • 함수 이름 바꾸기
  • 함수의 소스 식별
  • 함수에서 잠재적 취약점 찾기
  • 라이브러리 호출의 man 페이지 요약
  • 자유 프롬프트... 원하는 프롬프트를 직접 입력하세요!

VarBERT

VarBERT는 S&P 2024 논문 ""Len or index or count, anything but v1": Predicting Variable Names in Decompilation Output with Transfer Learning"의 로컬 BERT 모델입니다. VarBERT는 디컴파일링에서 변수(스택, 레지스터, 인자) 이름을 바꾸는 데 사용됩니다. VarBERT를 라이브러리로 사용하는 방법을 이해하려면 VarBERT API 문서를 참조하세요. DAILA에서 사용하는 것은 함수를 클릭할 때 GUI 컨텍스트 메뉴를 사용하는 것만큼 간단합니다.

데모

아래에서 DAILA 내부에서 실행되는 VarBERT 데모를 볼 수 있습니다:

VarBERT Demo

지원되는 디컴파일러

  • IDA

  • Binja

  • Ghidra

  • angr management

도구 다운로드