
Un editor esadecimale e decompilatore leggero per risolvere i tuoi problemi di analisi dei file binari.
Piattaforma aperta per il reverse engineering.
EUVA non è solo un editor esadecimale e un decompilatore; è più una piattaforma di reverse engineering che personalizzi tu, piuttosto che farti personalizzare. È una piattaforma in cui puoi collegare qualsiasi cosa, e lei non si opporrà. Siamo impegnati per gli interessi della comunità e supportiamo la massima flessibilità degli strumenti e una rapida integrazione con altri analizzatori, magari i tuoi, o forse industriali? Non vogliamo trasformare lo strumento in un altro decompilatore, perché decompilare non è divertente; IDA, Binija e altri possono farlo. Ma stiamo costruendo qualcosa di meglio, cercando di creare un'architettura migliore, e questo è probabilmente il nostro obiettivo principale. EUVA non si evolverà da sola, ma con la comunità.
Questo programma è in fase di sviluppo attivo. Le build sperimentali possono contenere bug o portare a comportamenti imprevisti. Usare con cautela.
Questo software viene fornito "così com'è", senza alcuna garanzia. EUVA è uno strumento di alta precisione progettato per scopi educativi e ricerca sulla sicurezza. L'autore non è responsabile per instabilità di sistema, perdita di dati o conseguenze legali derivanti dall'uso improprio di questo strumento.
Usando EUVA, riconosci di essere l'unico responsabile delle tue azioni, di comprendere i rischi della modifica di file binari e della memoria di processo, e di rispettare le leggi e le normative della tua giurisdizione.
Scopri le capacità del nostro editor esadecimale, che include anche il nostro DSL per la sostituzione dei valori. È stato progettato per rendere facile condividere patch, non è vero? Diciamo che stai creando qualcosa che richiede una patch e vuoi condividerla con qualcun altro. È tutto molto semplice: invia loro il nostro script .euv, il programma applica la patch al file binario, e il gioco è fatto, nessun mal di testa.
Forse una delle parti più importanti del nostro lavoro è il decompilatore: è stato progettato e viene progettato con l'obiettivo di trasmettere al meglio il significato delle azioni del programma. Ci sforziamo di renderlo user-friendly, perché frugare in altri decompilatori è una sofferenza: si comportano come traduttori e tu cerchi un qualche significato in questa follia. Con il nostro decompilatore la situazione non è semplice, ma abbassiamo la barriera d'ingresso e cerchiamo di ricostruire il codice decompilato nel modo più umanamente comprensibile possibile. Certo, non lo facciamo alla cieca, e tutto ha dei limiti, ma è comunque molto meglio che leggere C grezzo, che non è ancora nemmeno completamente tradotto. Questo non è sempre comodo, quindi siamo qui per cercare di applicare astrazioni C++ al codice decompilato ed essere soddisfatti del risultato.
esempio di output:
Se hai dubbi sugli argomenti del decompilatore, ricontrolla i risultati visualizzando il disassemblatore.
Se affrontiamo la cosa in modo perfetto, non stiamo solo parlando di aggiungere una funzione di rilevamento di protector come Themida, ma anche del decompilatore stesso. Per inciso, supporta anche le tue patch grazie a script C# compilati dinamicamente con Roslyn. Possono essere chiamati plugin per il decompilatore, una sorta di calibrazione secondo le tue esigenze. Questo vale anche per le regole Yara. Forse è l'integrazione con VirusTotal che abbiamo completato di recente? Non abbiamo intenzione di fermarci qui; continueremo a sviluppare in quest'area.
Quindi, abbiamo un doppio sistema: una funzione integrata nel programma di refactoring AI dove specifichi la tua chiave API. I punti devono anche essere conformi allo standard OpenAI. Questo è un pulsante di intervento rapido se non hai intenzione di approfondire il processo o se hai bisogno di condurre un'analisi in modo discreto, senza cloud, usando modelli AI locali. Abbiamo anche l'integrazione con MCP, che è piuttosto comoda perché il modello ha accesso a tutto ciò di cui ha bisogno. Può leggere il codice decompilato e modificarlo secondo i tuoi desideri, aiutandoti a imparare e capire. Puoi iniziare con qualsiasi servizio che supporti MCP, semplicemente configurando il file di configurazione richiesto. MCP è adatto a chi vuole approfondire e si trova a suo agio con il cloud. La scelta è tua. Penso che manterremo questo approccio flessibile.
[!NOTE] Scelta tua, controllo tuo: Il sistema dell'agente AI è un sistema "Porta la tua chiave". Supporta LLM cloud (OpenAI, Claude, Groq) e LLM locali (Ollama, LocalAI). La privacy è fondamentale.
🟢 Dopo AI (Refactoring Semantico)
esempio di output:
Ctrl+Z) che rollback dell'intera sessione (Ctrl+Shift+Z).euv) con esecuzione live tramite file-watchScarica dalle release o installa EUVA tramite winget
Uso di winget:
winget install Euva-Project.EUVA
Oppure compila il programma dai file sorgente usando la guida qui sotto.
Prima di compilare, assicurati di avere installato quanto segue:
| Requisito | Versione | Collegamento |
|---|---|---|
| .NET SDK | 8.0+ | download |
| Windows OS | 10 / 11 | Richiesto (WPF) |
[!NOTE] EUVA è un'applicazione solo per Windows basata su WPF. Linux/macOS non sono attualmente supportati.
# 1. Vai alla directory principale
cd EUVA/EUVA.UI
# 2. Ripristina le dipendenze
dotnet restore
# 3. Compila in modalità Release
dotnet build -c Release
# 4. Esegui (opzionale, oppure avvia il binario compilato)
dotnet run -c Release
Ctrl+D per aprire il Disassemblatore, Ctrl+E per il DecompilatoreApprofondisci la teoria e i meccanismi:
Puoi riassegnare le scorciatoie caricando (tramite le impostazioni nel menu del programma) e modificando il file .htk.
D: Perché usare l'AI integrata di EUVA invece dei plugin AI per IDA o Ghidra?
R: Negli strumenti più datati l'AI è solo una "stampella" che blocca l'interfaccia mentre gli script spingono avanti e indietro il testo. In EUVA l'AI è parte del nucleo. La nostra pipeline inietta modifiche a livello semantico in modo rapido. Non è un "plugin", è una simbiosi: il decompilatore fornisce i fatti e l'AI fornisce il significato. Zero intoppi.
D: Il mio codice verrà divulgato nel cloud?
R: Solo se lo desideri. EUVA segue una filosofia Locale Prima di Tutto. Collega Ollama o qualsiasi server locale e lavora completamente offline. Il tuo reverse è un tuo segreto.
D: Cosa succede se l'AI inizia ad allucinare e a mentire sul codice?
R: Certo, non è escluso. Lavoriamo su base "Fidati ma verifica". L'AI non può inventare la logica; suggerisce solo nomi per variabili che esistono effettivamente nel codice. Tutte le modifiche sono contrassegnate con commenti /* AI */. Se non ti piacciono, un clic o una scorciatoia riportano tutto allo stato grezzo.
D: Quanto è flessibile EUVA? Posso personalizzarlo per me?
R: Questa è la caratteristica principale. EUVA è una piattaforma.
D: Perché dovrei usare EUVA se ho IDA, Ghidra o Binary Ninja?
R: Perché sono programmi monolitici pesanti
Accogliamo con favore sia i netrunner esperti di strada che i ricercatori corporate.
PR Benvenute: Trovato un bug o ottimizzato uno stadio della pipeline? Invia una PR! 🚀
Ti sarò grato anche per le stelle - le stelle sono il futuro del progetto ⭐.
EUVA è un software libero rilasciato sotto la GNU General Public License v3.0.
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2026 EUVA Contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
---
EngineUnpacker Visual Analyzer (EUVA)
Professional PE Static Analysis Tool
Educational tool for reverse engineering research.
Use responsibly and in accordance with applicable laws.
EUVA – creato per ricercatori che leggono hex per divertimento.
Realizzato con ❤️ per la comunità del reverse engineering | © 2026 EUVA Project
| Comando | Scorciatoia | Descrizione |
|---|
NavInspector | Alt+1 | Passa alla scheda Ispettore |
NavSearch | Alt+2 | Passa alla scheda Ricerca |
NavDetections | Alt+3 | Passa alla scheda Rilevamenti |
NavProperties | Alt+4 | Passa alla scheda Proprietà |
CopyHex | Ctrl+C | Copia la selezione come stringa esadecimale |
CopyCArray | Ctrl+Shift+C | Copia la selezione come array di byte C |
CopyPlainText | Ctrl+Alt+C | Copia la selezione come testo normale |
Undo | Ctrl+Z | Annulla l'ultima scrittura di byte |
FullUndo | Ctrl+Shift+Z | Ripristina l'intera ultima esecuzione dello script |
View byte | F3 | Visualizza le ultime modifiche ai byte |
View Yara Matches | Shift+F3 | Visualizza le corrispondenze trovate da Yara |
View Disassembler | Ctrl+D | Visualizza il disassemblatore |
View Decompiler | Ctrl+E | Visualizza il decompilatore, usa F5 per passare dalla modalità grafica a quella testuale |
Highlight code | Ctrl+A | Seleziona il codice in forma testuale nel decompilatore |
Function table | Ctrl+R | Mostra la tabella delle funzioni nel decompilatore |
IAT Import | Ctrl+E | Mostra tutte le importazioni IAT nel decompilatore |
Xrefs To | X | Mostra tutte le variabili chiamate nel codice del decompilatore |
Xrefs From | X | Mostra dove si riferisce l'istruzione corrente (Disassemblatore) |
Parent navigation | P/Enter | Visualizza il genitore di un'istruzione del disassemblatore (Disassemblatore) |