
Debugger di applicazioni x86 e x64 con integrazione AI
Debugger / disassembler con GUI per l'analisi di malware su eseguibili a 32 e 64 bit, nello stile di OllyDbg / x64dbg. Pensato per sezionare virus e malware con finalità difensive: creare firme di antivirus/antimalware, capire il comportamento e ripulire le macchine.
⚠️ Analizza sempre i campioni in una macchina virtuale isolata / sandbox, senza rete, con snapshot. Avviare un binario sotto il debugger esegue il suo codice.
.exe / .dll / .sys e parsing completo del PE (32/64 bit, entrypoint,
sezioni, import, export, entropia).call/jmp/ret,
destinazione dei salti, guide visive di flusso per jmp/jz/jnz/ecc. e l'istruzione
corrente quando sei in pausa. Il menu contestuale Jump To apre la destinazione del salto.0xCC), hardware (DR0–DR3, esecuzione/scrittura/lettura-scrittura),
per eccezione e di memoria tramite PAGE_GUARD (accesso, scrittura o esecuzione). Include lista,
etichette, attivazione/disattivazione, condizioni di registri/hit, azioni di solo log e
breakpoint di eventi (thread/DLL). Quelli di memoria si configurano in pausa e lavorano per pagine,
come la tecnica usata da OllyDbg.VirtualQueryEx) con permessi, tipo e
modulo; salto rapido a RSP, lettura/scrittura, assemblaggio con Keystone e patching/NOP.48 8B ?? C3) o testo, nel file o in memoria viva.cache/ accanto al debugger. Vengono riutilizzati alla riapertura di un file e invalidati se cambiano
la sua dimensione, data di modifica o la lunghezza minima delle stringhe..dbgjsession con annotazioni e breakpoint; esportazione
di report Markdown con obiettivo, sezioni, rilevamenti, stato e breakpoint.signatures/userdb.txt in stile PEiD)
ed euristica di entropia / sezioni sospette.Permitir control del debugger (tools), l'agente può
consultare o controllare la sessione: aprire/avviare/riavviare, continuare o mettere in pausa, fare passi,
leggere memoria e registri, disassemblare, cercare, impostare breakpoint, navigare verso DLL,
applicare patch ed eseguire le altre operazioni esposte dal debugger.mcp/README.md.plugins/
aggiungono azioni alla UI e tool dinamici all'MCP. Le DLL vengono caricate solo quando l'utente
attiva espressamente l'opzione e devono essere affidabili. Consulta docs/PLUGINS.md.Compila solo su Windows con MSVC perché utilizza la Windows Debug API, DbgHelp, Direct3D 11 e WinHTTP.
Installa Visual Studio 2022 con Desktop development with C++, CMake 3.20+ e Git.
Doppio clic su build.bat (o da un x64 Native Tools Command Prompt):
build.bat
CMake scaricherà solo (FetchContent) Zydis, Dear ImGui e nlohmann/json.
Esegui build\Release\DebuggerJ++.exe come Amministratore (per poter eseguire il debug).
Configura gli agenti in Tools → Options → AI. Al primo avvio vengono rilevate, se presenti,
le variabili ANTHROPIC_API_KEY e OPENAI_API_KEY; puoi anche incollare una chiave nel
form di un agente. ChatGPT/OpenAI è offerto come preset ChatGPT (OpenAI).
Le credenziali vengono salvate unicamente in ai_config.json accanto all'eseguibile per l'uso
locale dell'applicazione. Non caricare quel file né file .env nel repository: sono già
esclusi da .gitignore.
Per consentire all'agente di agire, seleziona un provider/modello compatibile con function calling e abilita Consenti controllo del debugger (tools) nella finestra IA. La finestra Code limita l'agente a strumenti di consultazione per non alterare il processo.
Vedi docs/ARQUITECTURA.md.
DebuggerJ++ è distribuito sotto la GNU General Public License v3.0 o successiva (GPL-3.0-or-later). Puoi usarlo, studiarlo, modificarlo e ridistribuirlo secondo quei termini. Le dipendenze di terze parti conservano i propri avvisi e licenze.
È una base funzionale per l'analisi difensiva. Aree previste per una prossima versione: