x86 和 x64 应用程序调试器,集成 AI
带 GUI 的调试器 / 反汇编器,用于对 32 位和 64 位可执行文件进行恶意软件分析,风格类似 OllyDbg / x64dbg。旨在以防御性目的剖析病毒和恶意软件:创建杀毒/反恶意软件特征、理解其行为并清理设备。
⚠️ 请始终在隔离的虚拟机 / 沙箱中分析样本,无网络连接,并带有快照。在调试器下启动二进制文件会执行其代码。
.exe / .dll / .sys 并完整解析 PE(32/64 位、入口点、
节区、导入、导出、熵)。call/jmp/ret、
跳转目标、jmp/jz/jnz 等的可视化流程引导线,以及暂停时的
当前指令。右键菜单 Jump To 可打开跳转目标。0xCC)、硬件断点(DR0–DR3,执行/写入/读写)、
异常断点和通过 PAGE_GUARD 实现的内存断点(访问、写入或执行)。包括列表、
标签、启用/禁用、寄存器/命中次数条件、仅记录日志的动作以及
事件断点(线程/DLL)。内存断点需在暂停状态下配置,按页工作,
与 OllyDbg 使用的技术相同。VirtualQueryEx),包含权限、类型和
模块;快速跳转到 RSP、读取/写入、使用 Keystone 汇编以及修补/NOP。48 8B ?? C3)或文本进行搜索,可在文件中或活动内存中搜索。cache/ 中。重新打开文件时会复用,若文件
大小、修改日期或字符串最小长度发生变化则失效。.dbgjsession 会话,包含注释和断点;可导出
包含目标、节区、检测结果、状态和断点的 Markdown 报告。signatures/userdb.txt)
以及熵 / 可疑节区启发式检测。Permitir control del debugger (tools) 后,智能体可以
查询或控制会话:打开/启动/重启、继续或暂停、单步执行、
读取内存和寄存器、反汇编、搜索、设置断点、导航到 DLL、
修补以及执行 debugger 暴露的其他操作。mcp/README.md。plugins/ 中的 JSON 清单和可选的 x64 原生 DLL
可为 UI 添加操作,并为 MCP 添加动态工具。DLL 仅在用户
明确启用该选项时才会加载,且必须是可信的。参见 docs/PLUGINS.md。仅在使用 MSVC 的 Windows 上编译,因为它使用了 Windows Debug API、DbgHelp、Direct3D 11 和 WinHTTP。
安装 Visual Studio 2022,包含 使用 C++ 的桌面开发、CMake 3.20+ 和 Git。
双击 build.bat(或在 x64 Native Tools Command Prompt 中):
build.bat
CMake 只会自动下载(FetchContent)Zydis、Dear ImGui 和 nlohmann/json。
以管理员身份运行 build\Release\DebuggerJ++.exe(以便能够进行调试)。
在 Tools → Options → AI 中配置代理。首次启动时会检测(如果存在)
ANTHROPIC_API_KEY 和 OPENAI_API_KEY 环境变量;你也可以在某个代理的
表单中粘贴密钥。ChatGPT/OpenAI 以 ChatGPT (OpenAI) 预设的形式提供。
凭据仅保存在可执行文件旁的 ai_config.json 中,供应用程序本地使用。
不要将该文件或 .env 文件上传到仓库:它们已被 .gitignore 排除。
若要允许代理执行操作,请选择支持 function calling 的提供商/模型,并在 AI 窗口中启用 允许调试器控制(tools)。Code 窗口将代理限制为查询工具,以免改变进程。
参见 docs/ARQUITECTURA.md。
DebuggerJ++ 在 GNU General Public License v3.0 或更高版本 (GPL-3.0-or-later)下分发。你可以根据这些条款使用、研究、修改和再分发它。 第三方依赖保留其各自的声明和许可证。
这是一个用于防御性分析的功能性基础。下一版本计划涉及的领域: