
Debugger de aplicaciones x86 y x64 con intgracion de AI
Debugger / desensamblador con GUI para análisis de malware en ejecutables de 32 y 64 bits, al estilo OllyDbg / x64dbg. Pensado para diseccionar virus y malware con fines defensivos: crear firmas de antivirus/antimalware, entender el comportamiento y limpiar equipos.
⚠️ Analiza muestras siempre en una máquina virtual aislada / sandbox, sin red, con snapshots. Lanzar un binario bajo el debugger ejecuta su código.
.exe / .dll / .sys y parseo completo del PE (32/64 bits, entrypoint,
secciones, imports, exports, entropía).call/jmp/ret,
destino de saltos, guías visuales de flujo para jmp/jz/jnz/etc. y la instrucción
actual cuando estás pausado. El menú contextual Jump To abre el destino del salto.0xCC), hardware (DR0–DR3, ejecución/escritura/lectura-escritura),
por excepción y de memoria mediante PAGE_GUARD (acceso, escritura o ejecución). Incluye lista,
etiquetas, activación/desactivación, condiciones de registros/hits, acciones de solo log y
breakpoints de eventos (hilos/DLL). Los de memoria se configuran pausado y trabajan por páginas,
igual que la técnica usada por OllyDbg.VirtualQueryEx) con permisos, tipo y
módulo; salto rápido a RSP, lectura/escritura, ensamblado con Keystone y parcheo/NOP.48 8B ?? C3) o texto, en archivo o en memoria viva.cache/ junto al debugger. Se reutilizan al reabrir un archivo y se invalidan si cambian
su tamaño, fecha de modificación o el mínimo de longitud de strings..dbgjsession con anotaciones y breakpoints; exportación
de informe Markdown con objetivo, secciones, detecciones, estado y breakpoints.signatures/userdb.txt estilo PEiD)
y heurística de entropía / secciones sospechosas.Permitir control del debugger (tools), el agente puede
consultar o controlar la sesión: abrir/lanzar/reiniciar, continuar o pausar, hacer pasos,
leer memoria y registros, desensamblar, buscar, poner breakpoints, navegar a DLLs,
parchear y ejecutar las demás operaciones expuestas por el debugger.mcp/README.md.plugins/
agregan acciones a la UI y tools dinámicas al MCP. Las DLL solo se cargan cuando el usuario
activa expresamente la opción y deben ser de confianza. Consulta docs/PLUGINS.md.Solo compila en Windows con MSVC porque usa la Windows Debug API, DbgHelp, Direct3D 11 y WinHTTP.
Instala Visual Studio 2022 con Desktop development with C++, CMake 3.20+ y Git.
Doble clic a build.bat (o desde un x64 Native Tools Command Prompt):
build.bat
CMake descargará solo (FetchContent) Zydis, Dear ImGui y nlohmann/json.
Ejecuta build\Release\DebuggerJ++.exe como Administrador (para poder depurar).
Configura los agentes en Tools → Options → AI. El primer inicio detecta, si existen,
las variables ANTHROPIC_API_KEY y OPENAI_API_KEY; también puedes pegar una llave en el
formulario de un agente. ChatGPT/OpenAI se ofrece como el preset ChatGPT (OpenAI).
Las credenciales se guardan únicamente en ai_config.json junto al ejecutable para el uso
local de la aplicación. No subas ese archivo ni archivos .env al repositorio: ya están
excluidos por .gitignore.
Para permitir que el agente actúe, selecciona un proveedor/modelo compatible con function calling y habilita Permitir control del debugger (tools) en la ventana IA. La ventana Code limita al agente a herramientas de consulta para no alterar el proceso.
Ver docs/ARQUITECTURA.md.
DebuggerJ++ se distribuye bajo la GNU General Public License v3.0 o posterior (GPL-3.0-or-later). Puedes usarlo, estudiarlo, modificarlo y redistribuirlo bajo esos términos. Las dependencias de terceros conservan sus propios avisos y licencias.
Es una base funcional para análisis defensivo. Áreas previstas para una siguiente versión: