
Um editor hexadecimal e descompilador leve para resolver seus problemas de análise de arquivos binários.
Plataforma aberta para engenharia reversa.
O EUVA não é apenas um editor hexadecimal e um descompilador; é mais uma plataforma de engenharia reversa que você personaliza, em vez de ela te personalizar. É uma plataforma que você pode conectar a qualquer coisa, e ela não vai reclamar. Estamos comprometidos com os interesses da comunidade e apoiamos a máxima flexibilidade da ferramenta e integração rápida com outros analisadores - talvez os seus, ou talvez industriais? Não queremos transformar a ferramenta em outro descompilador, porque descompilar não é divertido; IDA, Binija e outros podem fazer isso. Mas estamos construindo algo melhor, tentando construir uma arquitetura melhor, e esse é provavelmente o nosso principal objetivo. O EUVA evoluirá não por conta própria, mas com a comunidade.
Este programa está em desenvolvimento ativo. Versões experimentais podem conter bugs ou levar a comportamentos inesperados. Use com cautela.
Este software é fornecido "como está", sem garantia de qualquer tipo. O EUVA é um instrumento de alta precisão projetado para fins educacionais e pesquisa de segurança. O autor não se responsabiliza por qualquer instabilidade do sistema, perda de dados ou consequências legais resultantes do uso indevido desta ferramenta.
Ao usar o EUVA, você reconhece que é o único responsável por suas ações, entende os riscos de modificar arquivos binários e memória de processos, e respeitará as leis e regulamentos de sua jurisdição.
Confira as capacidades do nosso editor hexadecimal, que também inclui nossa DSL para substituição de valores. Isso foi projetado para facilitar o compartilhamento de patches, não é? Digamos que você está criando algo que requer um patch e quer compartilhá-lo com outra pessoa. É tudo muito simples: basta enviar a eles nosso script .euv, o programa aplica o patch ao arquivo binário, e pronto - sem dores de cabeça.
Talvez uma das partes mais importantes do nosso trabalho seja o descompilador - ele foi projetado e está sendo projetado com o objetivo de transmitir o significado das ações do programa da melhor forma possível. Nos esforçamos para torná-lo amigável, porque vasculhar outros descompiladores é uma dor, pois eles agem como tradutores, e você está procurando algum tipo de significado nessa loucura. Com o nosso descompilador, a situação também não é simples, mas reduzimos a barreira de entrada e tentamos reconstruir o código descompilado da forma mais compreensível possível. Claro, não fazemos isso às cegas, e há limitações em tudo, mas ainda é muito melhor do que ler C puro, que ainda nem foi totalmente traduzido. Isso nem sempre é conveniente, então estamos aqui para tentar aplicar abstrações de C++ ao código descompilado e ficar satisfeitos com o resultado.
exemplo de saída:
Se você não estiver seguro sobre os argumentos do descompilador, verifique novamente seus resultados visualizando o desmontador.
Se abordarmos isso perfeitamente, não estamos falando apenas de adicionar um recurso de detecção de protetores como Themida, mas também sobre o próprio descompilador. Aliás, ele também suporta seus patches graças a scripts C# que são compilados dinamicamente usando Roslyn. Eles podem ser chamados de plugins para o descompilador, meio que calibrando-o para suas necessidades. Isso também se aplica às regras Yara. Talvez seja a integração com o VirusTotal que concluímos recentemente? Não pretendemos parar por aí; continuaremos a desenvolver nesta área.
Então, temos um sistema duplo: uma função embutida no programa de refatoração de IA onde você especifica sua chave de API. Os pontos também devem estar em conformidade com o padrão OpenAI. Este é um botão de intervenção rápida se você não planeja se aprofundar no processo ou se precisa realizar análises discretamente, sem a nuvem, usando modelos de IA locais. Também temos integração com MCP, o que é bastante conveniente porque o modelo tem acesso a tudo que precisa. Ele pode ler o código descompilado e modificá-lo de acordo com seus desejos, ajudando você a aprender e entender. Você pode começar com qualquer serviço que suporte MCP simplesmente configurando o arquivo de configuração necessário. MCP é adequado para quem quer se aprofundar e se sente confortável usando a nuvem. É tudo sua escolha. Acho que vamos manter essa abordagem flexível.
[!NOTE] Sua Escolha, Seu Controle: O Agente de IA é um sistema "Traga Sua Própria Chave". Ele suporta LLMs na Nuvem (OpenAI, Claude, Groq) e LLMs Locais (Ollama, LocalAI). Privacidade é fundamental.
🟢 Após IA (Refatoração Semântica)
exemplo de saída:
Ctrl+Z) e reversão total da sessão (Ctrl+Shift+Z).euv) com execução ao vivo por monitoramento de arquivoBaixe dos releases ou instale o EUVA via winget
uso do winget:
winget install Euva-Project.EUVA
Ou compile o programa a partir dos arquivos fonte usando o guia abaixo.
Antes de compilar, certifique-se de ter o seguinte instalado:
| Requisito | Versão | Link |
|---|---|---|
| .NET SDK | 8.0+ | download |
| Windows OS | 10 / 11 | Requerido (WPF) |
[!NOTE] O EUVA é um aplicativo apenas para Windows construído em WPF. Linux/macOS não são suportados atualmente.
# 1. Vá para o diretório principal
cd EUVA/EUVA.UI
# 2. Restaure as dependências
dotnet restore
# 3. Compile em modo Release
dotnet build -c Release
# 4. Execute (opcional, ou inicie o binário compilado)
dotnet run -c Release
Ctrl+D para abrir o Desmontador, Ctrl+E para o DescompiladorAprofunde-se na teoria e mecânica:
Você pode reatribuir atalhos carregando (via configurações no menu do programa) e editando o arquivo .htk.
P: Por que usar a IA embutida do EUVA em vez de plugins de IA para IDA ou Ghidra?
R: Em ferramentas legadas, a IA é apenas uma muleta 'acoplada' que congela a UI enquanto scripts empurram texto de um lado para o outro. No EUVA, a IA faz parte do núcleo. Nosso pipeline injeta mudanças em nível semântico rapidamente. Não é um 'plugin', é uma simbiose: o descompilador fornece fatos e a IA fornece significado. Zero travamentos.
P: Meu código vazará para a nuvem?
R: Somente se você quiser. O EUVA segue uma filosofia Local Primeiro. Conecte Ollama ou qualquer servidor local e trabalhe completamente offline. Sua engenharia reversa é seu segredo.
P: E se a IA começar a alucinar e mentir sobre o código?
R: Claro, isso não está excluído. Trabalhamos com base em 'Confie, mas Verifique'. A IA não pode inventar lógica; ela apenas sugere nomes para variáveis que realmente existem no código. Todas as alterações são marcadas com comentários /* AI */. Se você não gostar, um clique ou um atalho de teclado reverte tudo ao estado bruto.
P: Quão flexível é o EUVA? Posso personalizá-lo para mim?
R: Esta é a principal característica. O EUVA é uma plataforma.
P: Por que devo usar o EUVA se tenho IDA, Ghidra ou Binary Ninja?
R: Porque esses são programas monolíticos pesados.
Recebemos tanto netrunners astutos quanto pesquisadores graduados corporativos.
PRs são bem-vindos: Encontrou um bug ou otimizou um estágio do pipeline? Envie um PR! 🚀
Também serei grato pelas estrelas - as estrelas são o futuro do projeto ⭐.
O EUVA é um software livre lançado sob a 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 – construído para pesquisadores que leem hex por diversão.
Construído com ❤️ para a Comunidade de Engenharia Reversa | © 2026 EUVA Project
| Comando | Atalho | Descrição |
|---|
NavInspector | Alt+1 | Alternar para a aba Inspetor |
NavSearch | Alt+2 | Alternar para a aba Pesquisa |
NavDetections | Alt+3 | Alternar para a aba Detecções |
NavProperties | Alt+4 | Alternar para a aba Propriedades |
CopyHex | Ctrl+C | Copiar seleção como string hexadecimal |
CopyCArray | Ctrl+Shift+C | Copiar seleção como array de bytes C |
CopyPlainText | Ctrl+Alt+C | Copiar seleção como texto simples |
Undo | Ctrl+Z | Desfazer a última escrita de byte |
FullUndo | Ctrl+Shift+Z | Reverter toda a última execução de script |
View byte | F3 | Visualizar as últimas alterações de bytes |
View Yara Matches | Shift+F3 | Visualizar correspondências encontradas pelo Yara |
View Disassembler | Ctrl+D | Visualizar Desmontador |
View Decompiler | Ctrl+E | Visualizar Descompilador, use F5 para alternar entre modo gráfico e modo texto |
Highlight code | Ctrl+A | Selecionar código em forma de texto no descompilador |
Function table | Ctrl+R | Mostrar tabela de funções no descompilador |
IAT Import | Ctrl+E | Mostrar todas as importações IAT no descompilador |
Xrefs To | X | Exibir todas as variáveis que são chamadas no código do descompilador |
Xrefs From | X | Ver para onde a instrução atual se refere (Desmontador) |
Parent navigation | P/Enter | Visualizar o pai de uma instrução do desmontador (Desmontador) |