Recaf


Un éditeur de bytecode Java moderne et facile à utiliser qui abstrait les complexités des programmes Java.
Téléchargement
Fonctionnalités
- Modifier le bytecode Java avec aisance, à un niveau haut ou bas (en évitant les parties ennuyeuses)
- Les fonctionnalités de l'éditeur dans Recaf masquent les détails complexes des applications Java compilées, comme :
- Le pool de constantes
- Le calcul des stack frames
- L'utilisation d'instructions larges si nécessaire
- Et bien plus !
- Interface navigable facile à utiliser avec des actions contextuelles
- Prise en charge des applications Java standard et Android
- Plusieurs décompilateurs pour basculer entre eux, avec tous leurs paramètres entièrement configurables
- Compilateur intégré permettant de recompiler des classes décompilées, même si certaines classes référencées sont manquantes (Lorsque c'est pris en charge, la prise en charge peut varier selon la complexité du code et l'obfuscation)
- Un assembleur de bytecode avec une syntaxe simple et des outils d'assistance
- Voir l'état des variables locales et des valeurs de pile à n'importe quel point des méthodes
- Accéder aux variables par nom plutôt que par indice pour un code désassemblé plus clair
- Convertir automatiquement des extraits de code source Java en séquences de bytecode
- Recherche de divers contenus : constantes de chaînes/numériques, références de classes et de membres, motifs d'instructions
- Outils pour désoscurer du code obfusqué
- Les fichiers de classe spécialement conçus pour faire planter les outils de rétro-ingénierie sont automatiquement corrigés lorsqu'ils sont ouverts dans Recaf
- Les fichiers jar/zip spécialement conçus sont lus comme le fait la JVM, contournant les astuces sournoises qui peuvent piéger les outils de rétro-ingénierie en leur montrant des données erronées
- Prise en charge du renommage automatique des classes obfusquées et de leurs membres
- Prise en charge du renommage manuel des classes et de leurs membres (et exportation de ces correspondances vers divers formats de mapping pour utilisation dans d'autres outils)
- Transformateurs de bytecode pour simplifier les stratégies d'obfuscation courantes
- S'attacher à un processus Java en cours d'exécution avec des capacités d'instrumentation
- Et bien plus encore
Une liste complète des fonctionnalités se trouve dans la documentation utilisateur.
Scripts et plugins
Recaf expose la quasi-totalité de ses fonctionnalités via des API modulaires. L'automatisation des comportements peut se faire facilement avec des scripts, ou avec des plugins pour des situations plus complexes. Des fonctionnalités supplémentaires peuvent également être ajoutées via des plugins, qui peuvent enregistrer des hooks dans les API qui les proposent.
Pour créer votre propre script ou plugin, consultez la documentation développeur, en particulier la section "plugins & scripts".
Ligne de commande
Recaf peut fonctionner en tant qu'application en ligne de commande, ce qui peut être particulièrement utile lorsqu'il est associé à des scripts fournis au démarrage. Vous pouvez voir tous les arguments de lancement actuels en passant --help comme argument d'application.
Configuration de développement
Clonez le dépôt via git clone https://github.com/Col-E/Recaf.git
Ouvrez le projet dans un IDE ou générez la build avec Gradle.
IDE :
- Importez le projet à partir du fichier
build.gradle
- Créez une configuration d'exécution avec la classe principale
software.coley.recaf.Main
Sans IDE :
- Exécutez
gradlew build
- La sortie se trouvera dans :
recaf-ui/build/libs/recaf-ui-{VERSION}-all.jar