Relyze - Désassembleur interactif et diff binaire
Relyze est une plateforme commerciale de désassemblement interactif, de décompilation et de diff binaire pour les logiciels natifs, supportant x86, x64, ARM32 et ARM64. Il analyse les binaires PE/ELF en fonctions et graphes de flux de contrôle, fournit un décompilateur pour récupérer du pseudocode de haut niveau, et inclut un moteur diff binaire puissant pour comparer deux versions d”un binaire — inestimable pour l”analyse des correctifs et le suivi des variantes de malwares. Il est extensible via un framework de plugin/scripting Ruby. Une édition gratuite à usage non commercial est disponible.
Installation
| Étape | Notes |
|---|
| Télécharger | Obtenir l”installateur depuis le site officiel (Windows) |
| Éditions | Gratuit (non-commercial) et Professionnel |
| Premier lancement | Configurer le décompilateur et les options d”analyse |
| Plugins | Script Ruby disponible par défaut |
Flux de travail d”analyse
| Action | Description |
|---|
| Ouvrir un fichier | Analyser un binaire PE ou ELF en fonctions/CFG |
| Vue des fonctions | Parcourir les fonctions découvertes |
| Vue graphique | Graphe du flux de contrôle de la fonction sélectionnée |
| Décompilateur | Récupérer le pseudocode de type C pour une fonction |
| Chaînes | Lister les chaînes référencées et leurs xrefs |
| Imports/Exports | Inspecter les tableaux d”import/export |
| Références croisées | Accéder à l”endroit où une fonction/donnée est utilisée |
Essentiels de la navigation
| Tâche | Comment |
|---|
| Renommer un symbole | Sélectionner et renommer (se propage aux xrefs) |
| Commentaire | Annoter les instructions/fonctions |
| Suivre un appel | Double-cliquer une cible d”appel |
| Aller à l”adresse | Boîte de navigation d”adresse |
| Basculer la vue | Basculer la vue désassembly / graphique / décompilateur |
Diff binaire
Le moteur diff de Relyze associe les fonctions entre deux binaires et les classe comme identiques, modifiées, ajoutées ou supprimées — le flux de travail principal pour analyser un correctif de sécurité ou comparer les exemples de malwares.
| Tâche | Comment |
|---|
| Démarrer un diff | Ouvrir le binaire A, puis faire un diff par rapport au binaire B |
| Fonctions appariées | Examiner les fonctions appairées entre les deux builds |
| Fonctions modifiées | Se concentrer sur les fonctions dont le code diffère |
| Ajouté/supprimé | Voir ce que le correctif a introduit ou supprimé |
| Porter les annotations | Transporter les noms/commentaires d”une build à la suivante |
Motif d”analyse de correctif: diff les binaires pré-correctif et post-correctif, se concentrer sur le petit ensemble de fonctions modifiées, et étudier ce que le vendeur a corrigé pour comprendre la vulnérabilité sous-jacente.
Scripting Ruby
Relyze expose son modèle d”analyse à Ruby pour l”automatisation.
# Conceptuel: itérer les fonctions et signaler les grandes
model = Relyze::Engine.instance.active_model
model.functions.each do |func|
if func.instructions.length > 500
puts "Large function at #{func.address.to_s(16)}"
end
end
| Utiliser | Exemple |
|---|
| Renommage en masse | Appliquer les heuristiques de nommage sur les fonctions |
| Analyse personnalisée | Détecter les motifs (constantes cryptographiques, gadgets) |
| Exporter les données | Vider les fonctions/chaînes dans un fichier |
| Automatiser le diff | Script des comparaisons sur plusieurs exemples |
Flux de travail courants
| But | Approche |
|---|
| Comprendre un correctif de sécurité | Diff pré/post binaires → étudier les fonctions modifiées |
| Triage d”un exemple natif | Chaînes + imports → décompiler les fonctions suspectes |
| Suivre les variantes de malwares | Diff un nouvel exemple par rapport à un membre de la famille connu |
| Récupérer la logique | Utiliser le décompilateur + renommer/commenter pour reconstruire l”intention |
Relyze vs Autres désassembleurs
| Aspect | Relyze | IDA Pro | Ghidra | Binary Ninja |
|---|
| Décompilateur | Oui | Oui (Hex-Rays) | Oui | Oui |
| Diff binaire | Intégré | Add-on (BinDiff) | Plugins | Plugins |
| Scripting | Ruby | Python/IDC | Java/Python | Python |
| Coût | Gratuit + Pro | Commercial | Gratuit | Commercial |
Ressources