Decyx
Decyx 是 Ghidra 的一个扩展,利用 AI 协助逆向工程和二进制分析。
它使用 Anthropic 的 Claude API 提供智能建议,包括函数和变量重命名、类型推断和代码解释。Decyx 通过允许用户在每一步编辑每个建议来优先考虑定制自动化,而不会让模型强制修改 Ghidra 项目。这确保了用户对其逆向工程工作流程保持控制,将建议调整到他们的特定需求和偏好。
功能
-
AI 辅助函数重命名:根据上下文为未识别的函数提供有意义的名称。 -
变量重命名与类型推断:建议新的名称并推断变量类型,以增强代码清晰度。无效的类型会在重新类型化之前突出显示给用户。 -
函数代码解释:为反编译的函数生成详细的解释。 -
调用者上下文分析:结合调用函数的反编译代码提供额外的上下文,提高 AI 驱动建议的准确性。 -
逐行注释:为代码的关键部分添加有见地的注释,以便更好地理解。 -
用户友好的界面:交互式 GUI 用于审查 AI 生成的建议和自定义操作。
先决条件
-
__Ghidra >= 11.1.2
__。您可以在这里下载最新版本的 Ghidra:Ghidra 下载页面。 -
__Claude API 密钥__。您可以在这里获取一个:Claude API 页面。
[!注意] Ghidra 配备了一个基于 Jython 的 Python 2.7.3 扩展系统,因此 Decyx 是以此为基础编写的。
安装
-
克隆此仓库。
-
在 Ghidra 中添加主
Decyx
目录: -
转到 Window
>Script Manager
-
在 Script Manager
窗口中,转到Manage Script Directories
-
在 Bundle Manager
窗口中,添加Decyx
目录 -
脚本将在 Script Manager
窗口中显示。通过勾选In Tool
复选框启用它。 -
将您的 Claude API 密钥添加到 Ghidra 的首选项中:
-
当您首次运行 Decyx 扩展时,它会提示您输入您的 Claude API 密钥。输入后,密钥将存储在 Ghidra 的首选项中,供将来使用。
使用方法
-
在 Ghidra 中打开您的二进制文件并进行分析。
-
导航到您要分析的函数。
-
按
SHIFT + R
(您可以在Decyx.py
中修改此快捷键) -
按照屏幕上的提示:
-
选择要使用的 Claude 模型 -
选择要执行的操作(重命名/重新类型化、解释、添加注释) -
审查和编辑生成的提示(如果已启用) -
选择要包含以提供额外上下文的调用者函数 -
审查并应用 AI 生成的建议
[!重要] AI 是协助和增强人类分析的工具,而不是完全取代它。用户应始终批判性地评估建议。
配置
您可以修改 config.py
文件来自定义 Decyx 的各个方面:
-
CLAUDE_MODELS
:可用的 Claude 模型列表。默认情况下,它使用claude-3-5-sonnet-20240620
,如果此列表中只有一个模型,则会跳过模型选择提示。 -
SKIP_PROMPT_CONFIRMATION
:设置为True
以跳过提示审查步骤。默认情况下,它设置为False
,以便用户可以根据自己的偏好修改每个提示。 -
PROMPTS
:自定义发送给 Claude API 的默认提示。
参考资料
Decyx 访问 Swing 库 用于其 GUI,并利用 Ghidra API 实现特定于 Ghidra 的功能。
贡献
欢迎贡献!请随时提交拉取请求。Decyx 是以 Claude 为基础设计的,但未来计划集成其他 AI API。
https://github.com/philsajdak/decyx
原文始发于微信公众号(独眼情报):由 AI驱动的Ghidra 的一个扩展:Decyx
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论