
Un editor hexadecimal y descompilador ligero para resolver tus problemas de análisis de archivos binarios.
Plataforma abierta para ingeniería inversa.
EUVA no es solo un editor hexadecimal y un descompilador; es más bien una plataforma de ingeniería inversa que tú personalizas, en lugar de que ella te personalice a ti. Es una plataforma a la que puedes conectar cualquier cosa y no pondrá objeciones. Estamos comprometidos con los intereses de la comunidad y respaldamos la máxima flexibilidad de las herramientas y la integración rápida con otros analizadores — quizás los tuyos propios, o quizás industriales? No queremos convertir la herramienta en otro descompilador, porque descompilar no es divertido; IDA, Binary Ninja y otros pueden hacerlo. Pero nosotros estamos construyendo algo mejor, intentando construir una mejor arquitectura, y ese es probablemente nuestro objetivo principal. EUVA no evolucionará por sí sola, sino con la comunidad.
Este programa está en desarrollo activo. Las compilaciones experimentales pueden contener errores o provocar comportamientos inesperados. Úselo con precaución.
Este software se proporciona "tal cual", sin garantía de ningún tipo. EUVA es un instrumento de alta precisión diseñado con fines educativos y de investigación en seguridad. El autor no se hace responsable de ninguna inestabilidad del sistema, pérdida de datos o consecuencias legales derivadas del mal uso de esta herramienta.
Al usar EUVA, reconoces que eres el único responsable de tus acciones, que comprendes los riesgos de modificar archivos binarios y la memoria de procesos, y que respetarás las leyes y regulaciones de tu jurisdicción.
Conoce las capacidades de nuestro editor hexadecimal, que también incluye nuestro DSL para reemplazar valores. Esto fue diseñado para facilitar el intercambio de parches, ¿no es así? Digamos que estás creando algo que requiere un parche y quieres compartirlo con otra persona. Es bastante simple: solo envíales nuestro script .euv, el programa aplica el parche al archivo binario, y listo, sin dolores de cabeza.
Quizás una de las partes más importantes de nuestro trabajo es el descompilador: fue diseñado y se está diseñando con el objetivo de transmitir el significado de las acciones del programa de la mejor manera posible. Nos esforzamos por hacerlo fácil de usar, porque hurgar en otros descompiladores es un fastidio, ya que actúan como traductores y uno busca algún tipo de significado en esa locura. Con nuestro descompilador, la situación tampoco es simple, pero bajamos la barrera de entrada e intentamos reconstruir el código descompilado de la manera más humanamente comprensible posible. Por supuesto, no hacemos esto a ciegas y todo tiene límites, pero sigue siendo mucho mejor que leer C puro, que ni siquiera está completamente traducido todavía. Esto no siempre es conveniente, así que estamos aquí para intentar aplicar abstracciones de C++ al código descompilado y estar satisfechos con el resultado.
Ejemplo de salida:
Si no estás seguro de los argumentos del descompilador, verifica sus resultados viendo el desensamblador.
Si abordamos esto de manera perfecta, no solo hablamos de agregar una función de detección de protectores tipo Themida, sino también del propio descompilador. Por cierto, también admite tus parches gracias a scripts de C# que se compilan dinámicamente usando Roslyn. Estos pueden ser complementos para el descompilador, calibrándolo según tus necesidades. Esto también se aplica a las reglas Yara. ¿Quizás es la integración con VirusTotal que completamos recientemente? No planeamos detenernos allí; continuaremos desarrollando en esta área.
Entonces, tenemos un sistema dual: una función integrada en el programa de refactorización de IA donde especificas tu clave API. Los puntos también deben cumplir con el estándar de OpenAI. Este es un botón de intervención rápida si no planeas profundizar en el proceso o si necesitas realizar un análisis discreto, sin la nube, usando modelos de IA locales. También tenemos integración con MCP, lo cual es bastante conveniente porque el modelo tiene acceso a todo lo que necesita. Puede leer el código descompilado y modificarlo según tus deseos, ayudándote a aprender y comprender. Puedes comenzar con cualquier servicio que admita MCP simplemente configurando el archivo de configuración requerido. MCP es adecuado para aquellos que quieren profundizar y se sienten cómodos usando la nube. Todo es tu elección. Creo que mantendremos este enfoque flexible.
[!NOTE] Tu elección, tu control: El Agente IA es un sistema "Trae tu propia clave". Soporta LLMs en la nube (OpenAI, Claude, Groq) y LLMs locales (Ollama, LocalAI). La privacidad es primordial.
🟢 Después de la IA (Refactorización Semántica)
Ejemplo de salida:
Ctrl+Z) como reversión de sesión completa (Ctrl+Shift+Z).euv) con ejecución de vigilancia de archivos en vivoDescárgalo desde las versiones o instala EUVA mediante winget
Uso de winget:
winget install Euva-Project.EUVA
O compila el programa desde los archivos fuente usando la guía a continuación.
Antes de compilar, asegúrate de tener instalado lo siguiente:
| Requisito | Versión | Enlace |
|---|---|---|
| .NET SDK | 8.0+ | descargar |
| Sistema Operativo Windows | 10 / 11 | Requerido (WPF) |
[!NOTE] EUVA es una aplicación solo para Windows basada en WPF. Linux/macOS no son compatibles actualmente.
# 1. Go to the main directory
cd EUVA/EUVA.UI
# 2. Restore dependencies
dotnet restore
# 3. Build in Release mode
dotnet build -c Release
# 4. Run (optional, or launch the compiled binary)
dotnet run -c Release
Ctrl+D para abrir el Desensamblador, Ctrl+E para el DescompiladorProfundiza en la teoría y la mecánica:
| Comando | Atajo | Descripción |
|---|---|---|
NavInspector | Alt+1 | Cambiar a la pestaña Inspector |
NavSearch | Alt+2 | Cambiar a la pestaña Búsqueda |
NavDetections | Alt+3 | Cambiar a la pestaña Detecciones |
NavProperties | Alt+4 | Cambiar a la pestaña Propiedades |
CopyHex | Ctrl+C | Copiar selección como cadena hexadecimal |
CopyCArray | Ctrl+Shift+C | Copiar selección como arreglo de bytes en C |
CopyPlainText | Ctrl+Alt+C | Copiar selección como texto plano |
Undo | Ctrl+Z | Deshacer la última escritura de byte |
FullUndo | Ctrl+Shift+Z | Revertir toda la ejecución del último script |
View byte | F3 | Ver los cambios de bytes más recientes |
View Yara Matches | Shift+F3 | Ver las coincidencias encontradas por Yara |
View Disassembler | Ctrl+D | Ver Desensamblador |
View Decompiler |
Puedes reasignar los atajos de teclado cargando (mediante la configuración en el menú del programa) y editando el archivo .htk.
P: ¿Por qué usar la IA integrada de EUVA en lugar de los complementos de IA para IDA o Ghidra?
R: En las herramientas heredadas, la IA es solo un "parche" que congela la interfaz de usuario mientras los scripts envían texto de un lado a otro. En EUVA, la IA es parte del núcleo. Nuestra canalización inyecta cambios a nivel semántico rápidamente. No es un "complemento", es una simbiosis: el descompilador proporciona hechos y la IA proporciona significado. Sin tirones.
P: ¿Se filtrará mi código a la nube?
R: Solo si quieres. EUVA sigue una filosofía Primero lo Local. Conecta Ollama o cualquier servidor local y trabaja completamente fuera de línea. Tu ingeniería inversa es tu secreto.
P: ¿Qué pasa si la IA comienza a alucinar y mentir sobre el código?
R: Por supuesto, no está descartado. Trabajamos bajo el principio de "Confía pero Verifica". La IA no puede inventar lógica; solo sugiere nombres para variables que realmente existen en el código. Todos los cambios se marcan con comentarios /* AI */. Si no te gusta, un clic o un atajo de teclado revierte todo al estado original.
P: ¿Qué tan flexible es EUVA? ¿Puedo personalizarlo para mí?
R: Esta es la característica principal. EUVA es una plataforma.
P: ¿Por qué debería usar EUVA si tengo IDA, Ghidra o Binary Ninja?
R: Porque son programas monolíticos pesados
Damos la bienvenida tanto a los netrunners callejeros como a los investigadores corporativos por igual.
¡Se aceptan PRs! ¿Encontraste un error u optimizaste una etapa de la canalización? ¡Envía un PR! 🚀
También agradeceré las estrellas: las estrellas son el futuro del proyecto ⭐.
EUVA es software libre publicado bajo 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: construido para investigadores que leen hex por diversión.
Construido con ❤️ para la Comunidad de Ingeniería Inversa | © 2026 EUVA Project
Ctrl+EVer Descompilador, usa F5 para alternar entre modo gráfico y modo texto |
Highlight code | Ctrl+A | Seleccionar código en forma de texto en un descompilador |
Function table | Ctrl+R | Mostrar tabla de funciones en el descompilador |
IAT Import | Ctrl+E | Mostrar todas las importaciones IAT en el descompilador |
Xrefs To | X | Mostrar todas las variables que son llamadas en el código del descompilador |
Xrefs From | X | Ver a dónde se refiere la instrucción actual (Desensamblador) |
Parent navigation | P/Enter | Ver el padre de una instrucción del desensamblador (Desensamblador) |