Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
DAILA — 一个与反编译器无关的插件,用于在你的反编译器中与AI交互。支持GPT-4、Claude和本地模型! | Kitploit
工具/GitHubGitHub/mahaloz/daila
漏洞分析代码分析逆向工程二进制分析AI 辅助逆向
GitHubmahaloz/daila

DAILA

一个与反编译器无关的插件,用于在你的反编译器中与AI交互。支持GPT-4、Claude和本地模型!

查看仓库
70461101个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

DAILA

DAILA(Decompiler Artificially Intelligent Language Assistant)是用于在反编译器中统一接入 AI 系统的接口。 借助 DAILA,你可以在多种反编译器中使用统一的脚本和 GUI 界面来调用各类 AI 系统,例如本地和远程 LLM。 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 支持 LiteLLM 所支持的任何 LLM,例如:

  • 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 API 为你下载 VarBERT 模型。 如果你恰好在没有网络访问的机器(例如安全网络)上安装 DAILA,可以使用 Docker 容器 一节中的 Docker 镜像。

Ghidra Extra Steps

要让 Ghidra 正常工作,你还需要执行几个额外的步骤。首先,你必须以 PyGhidra 模式运行。你可以进入 Ghidra 安装目录并运行 ./support/pyghidraRun 来实现。

接下来,启用 DAILA 插件:

  1. 启动 Ghidra 并打开一个二进制文件
  2. 转到 Windows > Script Manager 菜单
  3. 搜索 daila 并启用脚本

你需要让 python3 在你的 PATH 中,Ghidra 版本才能工作。我们确实是在 Python 2 内部调用它的。你可能还需要将 $USER_HOME/ghidra_scripts 设为 Ghidra 中有效的脚本路径。

手动安装(如果上述方法失败)

如果上述方法失败,你将需要手动安装。手动安装时,先在仓库中执行 pip3 install dailalib,然后将 daila_plugin.py 文件复制到你的反编译器的插件目录。

使用方法

DAILA 设计为两种使用方式:

  1. 作为带 GUI 的反编译器插件
  2. 作为反编译器中的脚本库

反编译器 GUI

除 Ghidra 外(见下文),启动反编译器后,你会有一个新的上下文菜单;在函数内任意位置右键单击即可访问:

DAILA 上下文菜单

如果你使用 Ghidra,请转到 Tools->DAILA->Start DAILA Backend 启动后端服务器。完成此操作后,你就可以使用如上所示的上下文菜单。

脚本使用

你可以通过导入 dailalib 包在自己的脚本中使用 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 容器。你可以自行构建容器,将镜像保存为 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

在容器中,你可以从 /tools/ghidra_10.4_PUBLIC/ghidraRun 启动 Ghidra。接下来,按照 Ghidra 额外步骤 启用 DAILA 插件,就可以使用了!

支持的 AI 后端

LiteLLM(多种后端)

DAILA 支持 LiteLLM API,而 LiteLLM 又支持 OpenAI 等各种后端。若要使用商业 LLM API,你必须提供自己的 API 密钥。例如,要使用 OpenAI API,你必须拥有 OpenAI API 密钥。如果你的反编译器无法访问 OPENAI_API_KEY 环境变量,则必须使用 DAILA 的反编译器选项来设置 API 密钥。

在 Settings 中,你还可以添加/使用任何基于 OpenAI 的 LLM 端点,例如使用 Llama2。

目前,DAILA 支持以下提示词:

  • 摘要函数
  • 重命名变量
  • 重命名函数
  • 识别函数的来源
  • 查找函数中的潜在漏洞
  • 摘要库调用的手册页
  • 自由提问……直接输入你自己的提示即可!

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 上下文菜单一样。

演示

你可以在下方看到 VarBERT 在 DAILA 中运行的演示:

VarBERT Demo

支持的反编译器

  • IDA

  • Binja

  • Ghidra

  • angr management

下载工具