Récaf
Un éditeur de bytecode Java moderne et facile à utiliser qui élimine la complexité des programmes Java.
Télécharger
- Lanceur
- Utilisation et instructions trouvées sur le dépôt du lanceur
- Publications instantanées
- Voir les actions CI pour les artefacts de version
- Versions indépendantes (Aucune pour 4X actuellement)
Caractéristiques
- Modifiez facilement le bytecode Java à partir d'un niveau élevé ou bas (sans les parties ennuyeuses)
- Les fonctionnalités de l'éditeur dans Recaf résument les détails complexes des applications Java compilées telles que :
- La piscine constante
- Calcul du cadre de pile
- Utiliser des instructions larges en cas de besoin
- Et bien plus encore !
- Interface navigable facile à utiliser avec des actions contextuelles
- Prise en charge des applications Java et Android standard
- Plusieurs décompilateurs entre lesquels basculer, avec tous leurs paramètres entièrement configurables
- Compilateur intégré pour permettre la recompilation des classes décompilées, même si certaines classes référencées sont manquantes (lorsqu'elle est prise en charge, la prise en charge peut varier en fonction de la complexité et de l'obscurcissement du code)
- Un assembleur de bytecode avec une syntaxe simple et des outils de support
- Voir l'état des variables locales et des valeurs de pile à tout moment dans les méthodes
- Accédez aux variables par noms plutôt que par indices pour un code désassemblé plus clair
- Convertir automatiquement des extraits de code source Java en séquences de bytecode
- Recherche d'une variété de contenus différents : chaînes/constantes numériques, classes et références de membres, modèles d'instructions
- Outils pour désobscurcir le code obscurci
- Les fichiers de classe spécialement conçus dans le but de faire planter les outils d'ingénierie inverse 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, en contournant les astuces sournoises qui peuvent inciter les outils d'ingénierie inverse à afficher les mauvaises données.
- Prise en charge du renommage automatique des classes obscurcies et de leurs membres
- Prise en charge du renommage manuel des classes et de leurs membres (et exportation de ces mappages vers une variété de formats de mappage pour une utilisation dans d'autres outils)
- S'attacher au processus Java en cours d'exécution avec des capacités d'instrumentation
- Et bien plus encore
Une liste complète des fonctionnalités peut être trouvée dans la documentation utilisateur.
Scripts et plugins
Recaf expose presque toutes ses fonctionnalités via des API modulaires. L'automatisation des comportements peut être effectuée 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 du développeur, en particulier la section « plugins et scripts » .
Ligne de commande
Recaf peut s'exécuter comme une application en ligne de commande, ce qui peut être particulièrement utile lorsqu'il est associé aux scripts fournis au démarrage. Vous pouvez voir tous les arguments de lancement actuels en passant --help
comme argument d'application.
Configuration du développement
Clonez le référentiel via git clone https://github.com/Col-E/Recaf.git
Ouvrez le projet dans un IDE ou générez la build avec gradle.
EDI :
- 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écuter
gradlew build
- La sortie sera située à l'adresse :
recaf-ui/build/libs/recaf-ui-{VERSION}-all.jar