
Un éditeur hexadécimal et décompilateur léger pour résoudre vos problèmes d'analyse de fichiers binaires.
Plateforme ouverte pour la rétro-ingénierie.
EUVA n'est pas seulement un éditeur hexadécimal et un décompilateur ; c'est plutôt une plateforme de rétro-ingénierie que vous personnalisez, plutôt que de vous faire personnaliser par elle. C'est une plateforme que vous pouvez brancher sur n'importe quoi, et elle ne s'y opposera pas. Nous nous engageons pour les intérêts de la communauté et soutenons une flexibilité maximale des outils et une intégration rapide avec d'autres analyseurs – peut-être les vôtres, ou peut-être des analyseurs industriels ? Nous ne voulons pas transformer l'outil en un autre décompilateur, car décompiler n'est pas amusant ; IDA, Binija et d'autres peuvent le faire. Mais nous construisons quelque chose de mieux, nous essayons de construire une meilleure architecture, et c'est probablement notre objectif principal. EUVA n'évoluera pas tout seul, mais avec la communauté.
Ce programme est en cours de développement actif. Les versions expérimentales peuvent contenir des bogues ou entraîner un comportement inattendu. Utilisez avec précaution.
Ce logiciel est fourni « tel quel », sans aucune garantie. EUVA est un instrument de haute précision conçu à des fins éducatives et de recherche en sécurité. L'auteur n'est pas responsable des instabilités système, pertes de données ou conséquences juridiques résultant d'une mauvaise utilisation de cet outil.
En utilisant EUVA, vous reconnaissez être seul responsable de vos actions, vous comprenez les risques liés à la modification de fichiers binaires et de la mémoire des processus, et vous respecterez les lois et réglementations de votre juridiction.
Découvrez les capacités de notre éditeur hexadécimal, qui inclut également notre DSL pour remplacer des valeurs. Cela a été conçu pour faciliter le partage de correctifs, n'est-ce pas ? Disons que vous créez quelque chose nécessitant un correctif et que vous souhaitez le partager avec quelqu'un d'autre. C'est assez simple : envoyez-lui notre script .euv, le programme applique le correctif au fichier binaire, et le tour est joué – sans maux de tête.
Peut-être que l'une des parties les plus importantes de notre travail est le décompilateur – il a été conçu et est en cours de conception avec l'objectif de transmettre au mieux le sens des actions du programme. Nous nous efforçons de le rendre convivial, car fouiller dans d'autres décompilateurs est pénible parce qu'ils agissent comme des traducteurs, et vous cherchez un sens dans cette folie. Avec notre décompilateur, la situation n'est pas non plus simple, mais nous abaissons la barrière d'entrée et essayons de reconstruire le code décompilé de la manière la plus compréhensible possible. Bien sûr, nous ne le faisons pas aveuglément, et il y a des limites à tout, mais c'est quand même bien mieux que de lire du C brut qui n'est même pas encore entièrement traduit. Ce n'est pas toujours pratique, donc nous sommes là pour essayer d'appliquer des abstractions C++ au code décompilé et être satisfaits du résultat.
exemple de sortie :
Si vous avez des doutes sur les arguments du décompilateur, vérifiez ses résultats en consultant le désassembleur.
Si nous abordons cela parfaitement, nous ne parlons pas seulement d'ajouter une fonctionnalité de détection de protecteur de type Themida, mais aussi du décompilateur lui-même. D'ailleurs, il prend également en charge vos correctifs grâce à des scripts C# compilés dynamiquement avec Roslyn. Ceux-ci peuvent être appelés des plugins pour le décompilateur, le calibrant en quelque sorte selon vos besoins. Cela s'applique également aux règles Yara. Peut-être est-ce l'intégration Virustotal que nous avons récemment réalisée ? Nous ne prévoyons pas de nous arrêter là ; nous continuerons à développer dans ce domaine.
Nous avons donc un système dual : une fonction intégrée dans le programme de refactorisation IA où vous spécifiez votre clé API. Les points doivent également être conformes à la norme OpenAI. C'est un bouton d'intervention rapide si vous ne prévoyez pas de vous plonger profondément dans le processus ou si vous devez mener une analyse discrète, sans le cloud, en utilisant des modèles IA locaux. Nous avons également une intégration avec MCP, ce qui est assez pratique car le modèle a accès à tout ce dont il a besoin. Il peut lire le code décompilé et le modifier selon vos souhaits, vous aidant à apprendre et à comprendre. Vous pouvez commencer avec n'importe quel service prenant en charge MCP en configurant simplement le fichier de configuration requis. MCP convient à ceux qui veulent aller plus loin et qui sont à l'aise avec le cloud. Tout est votre choix. Je pense que nous conserverons cette approche flexible.
[!NOTE] Votre choix, votre contrôle : L'Agent IA est un système « Apportez votre propre clé ». Il prend en charge les LLM cloud (OpenAI, Claude, Groq) et les LLM locaux (Ollama, LocalAI). La confidentialité est primordiale.
🟢 Après IA (Refactorisation sémantique)
exemple de sortie :
Ctrl+Z) et retour en arrière complet de session (Ctrl+Shift+Z).euv) avec exécution en direct par surveillance de fichierTéléchargez depuis les releases ou installez EUVA via winget
utilisation de winget :
winget install Euva-Project.EUVA
Ou construisez le programme à partir des fichiers source en utilisant le guide ci-dessous.
Avant de construire, assurez-vous d'avoir installé ce qui suit :
| Prérequis | Version | Lien |
|---|---|---|
| SDK .NET | 8.0+ | télécharger |
| OS Windows | 10 / 11 | Requis (WPF) |
[!NOTE] EUVA est une application Windows uniquement construite sur WPF. Linux/macOS ne sont pas pris en charge actuellement.
# 1. Allez dans le répertoire principal
cd EUVA/EUVA.UI
# 2. Restaurez les dépendances
dotnet restore
# 3. Construisez en mode Release
dotnet build -c Release
# 4. Exécutez (optionnel, ou lancez le binaire compilé)
dotnet run -c Release
Ctrl+D pour ouvrir le Désassembleur, Ctrl+E pour le DécompilateurPlongez plus profondément dans la théorie et la mécanique :
Vous pouvez réaffecter les touches de raccourci en chargeant (via les paramètres du menu du programme) et en modifiant le fichier .htk.
Q : Pourquoi utiliser l'IA intégrée d'EUVA au lieu des plugins IA pour IDA ou Ghidra ?
R : Dans les outils hérités, l'IA n'est qu'une béquille « ajoutée » qui gèle l'interface pendant que les scripts font des aller-retours de texte. Dans EUVA, l'IA fait partie du cœur. Notre pipeline injecte rapidement des changements au niveau sémantique. Ce n'est pas un « plugin », c'est une symbiose : le décompilateur fournit des faits et l'IA fournit du sens. Zéro à-coup.
Q : Mon code fuira-t-il vers le cloud ?
R : Seulement si vous le souhaitez. EUVA suit une philosophie Local d'abord. Connectez Ollama ou tout serveur local et travaillez complètement hors ligne. Votre rétro-ingénierie est votre secret.
Q : Et si l'IA commence à halluciner et à mentir sur le code ?
R : Bien sûr, ce n'est pas exclu. Nous travaillons sur la base de « Faites confiance mais vérifiez ». L'IA ne peut pas inventer de logique, elle suggère seulement des noms pour des variables qui existent réellement dans le code. Toutes les modifications sont marquées avec des commentaires /* AI */. Si vous n'aimez pas, un clic ou une touche de raccourci remet tout à l'état brut.
Q : À quel point EUVA est-il flexible ? Puis-je le personnaliser pour moi-même ?
R : C'est la fonctionnalité principale. EUVA est une plateforme.
Q : Pourquoi devrais-je utiliser EUVA si j'ai IDA, Ghidra ou Binary Ninja ?
R : Parce que ce sont de lourds programmes monolithiques.
Nous accueillons aussi bien les netrunners aguerris que les chercheurs diplômés d'entreprise.
Les PR sont les bienvenus : Vous avez trouvé un bug ou optimisé une étape du pipeline ? Soumettez une PR ! 🚀
Je serai également reconnaissant pour les étoiles – les étoiles sont l'avenir du projet ⭐.
EUVA est un logiciel libre publié sous 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 – construit pour les chercheurs qui lisent l'hexadécimal pour le plaisir.
Construit avec ❤️ pour la communauté du rétro-ingénierie | © 2026 EUVA Project
| Commande | Raccourci | Description |
|---|
NavInspector | Alt+1 | Basculer vers l'onglet Inspecteur |
NavSearch | Alt+2 | Basculer vers l'onglet Recherche |
NavDetections | Alt+3 | Basculer vers l'onglet Détections |
NavProperties | Alt+4 | Basculer vers l'onglet Propriétés |
CopyHex | Ctrl+C | Copier la sélection sous forme de chaîne hexadécimale |
CopyCArray | Ctrl+Shift+C | Copier la sélection sous forme de tableau d'octets C |
CopyPlainText | Ctrl+Alt+C | Copier la sélection sous forme de texte brut |
Undo | Ctrl+Z | Annuler la dernière écriture d'octet |
FullUndo | Ctrl+Shift+Z | Revenir entièrement sur la dernière exécution de script |
View byte | F3 | Voir les dernières modifications d'octets |
View Yara Matches | Shift+F3 | Voir les correspondances trouvées par Yara |
View Disassembler | Ctrl+D | Voir le désassembleur |
View Decompiler | Ctrl+E | Voir le décompilateur, utilisez F5 pour basculer entre le mode graphique et le mode texte |
Highlight code | Ctrl+A | Sélectionner le code sous forme textuelle dans un décompilateur |
Function table | Ctrl+R | afficher la table des fonctions dans le décompilateur |
IAT Import | Ctrl+E | afficher tous les imports IAT dans le décompilateur |
Xrefs To | X | afficher toutes les variables appelées dans le code du décompilateur |
Xrefs From | X | voir où l'instruction courante fait référence (Désassembleur) |
Parent navigation | P/Entrée | voir le parent d'une instruction du désassembleur (Désassembleur) |