Recaf


Un éditeur de bytecode Java et Android polyvalent et facile à utiliser. Recaf simplifie le travail avec les applications Java compilées. Explorez du code inconnu, analysez des applications obfusquées, modifiez des classes sans leur code source d'origine et exportez vos modifications, le tout via une interface familière semblable à celle d'un IDE.
Téléchargement
- Launcher
- Récupère les versions snapshot à partir des exécutions CI de GitHub, vous garantissant ainsi de disposer des versions les plus récentes.
- L'utilisation et les instructions du launcher se trouvent sur le dépôt du launcher.
- Versions snapshot
- Consultez les actions CI pour les artefacts de version.
- Versions indépendantes
Fonctionnalités
Décompiler et explorer des applications Java
Naviguez dans des applications compilées à l'aide d'une interface familière, semblable à celle d'un IDE.
- Basculez entre plusieurs décompilateurs Java configurables : CFR, Procyon, Fernflower
- Chaque décompilateur peut être entièrement configuré via le menu de configuration. Si vous êtes perdu, utilisez simplement la barre de recherche de la fenêtre de configuration et saisissez le nom du décompilateur que vous souhaitez ajuster.
- Recherchez des chaînes, des constantes, des références de classes, des méthodes et des motifs d'instructions de bytecode.
- Naviguez dans les applications Java comme vous le feriez avec un IDE.
- Control + clic gauche ou appuyez sur F3 pour accéder aux classes, champs et méthodes référencés.
- Gauche/Droite + Alt pour naviguer entre les emplacements récemment visités.
- Control + G pour trouver rapidement des classes, des membres ou le contenu d'un fichier dans une application ouverte.
- Tout le reste est accessible via des menus contextuels sensibles au contexte.
- Cliquez sur une classe ? Les opérations disponibles pour la classe s'affichent.
- Cliquez sur une méthode ? Les opérations disponibles pour la méthode s'affichent.
- Les applications Java et Android sont traitées de la même manière.
Modifiez le bytecode Java facilement, à haut ou bas niveau

Effectuez des modifications simples en éditant simplement le code source Java décompilé, enregistrez vos modifications, puis exportez l'application modifiée.
- Du code de dépendance / bibliothèque manquant dans le JAR de l'application ? Recaf peut combler les lacunes pour vous en analysant le code existant et en générant du code squelette de bibliothèque. Le compilateur ne verra pas la différence.
- Vous rencontrez des problèmes de qualité de décompilation rendant les modifications du code source trop difficiles ? Utilisez l'assembleur de bytecode !

L'assembleur de bytecode de Recaf facilite la modification des fichiers de classe de bas niveau. Les aspects complexes du format de fichier sont abstraits pour vous. Des outils utiles peuvent vous assister même si vous êtes un parfait débutant en bytecode.
- Fonctionnalités de l'assembleur :
- Noms de variables utilisés à la place des emplacements de variables, rendant le code plus facile à lire et à comprendre.
- Retour immédiat sur les erreurs de syntaxe, l'utilisation incorrecte des instructions, etc.
- Visualisez le flux de contrôle en cliquant sur une étiquette pour voir où mènent les instructions de flux de contrôle.
- Outils de l'assembleur :
- Analyse : Voyez quelles valeurs se trouvent sur la pile et dans les variables locales à tout moment dans la méthode. Cliquez sur une ligne et elle se met à jour pour montrer ce qui se passe à ce point du code.
- Variables déclarées : Un tableau de toutes les variables, de leur utilisation, et une navigation en un clic pour sauter entre ces utilisations.
- Java vers Bytecode : Écrivez du code source Java simple sur le côté gauche, voyez le bytecode Java équivalent sur le côté droit. Vous pouvez facilement générer du bytecode complexe à partir du code source, puis le copier-coller dans l'assembleur où vous le souhaitez.
- Extraits : Vous vous surprenez à écrire sans cesse le même appel de débogage
println ? Enregistrez-le comme extrait et accédez-y à tout moment. Les impressions de débogage prêtes à copier-coller sont le nerf de la guerre de tout programmeur qui débogue désespérément du code tiers dont les auteurs ont disparu comme les dinosaures.
Analyser et désobfusquer des applications protégées
Recaf offre une multitude d'outils pour rendre le travail avec du code obfusqué aussi simple que possible. Le renommage d'identifiants, le chiffrement des constantes numériques et de chaînes, et même l'obfuscation du flux de contrôle peuvent tous être déjoués facilement.

Automatiser les workflows d'analyse et de rétro-ingénierie avec des scripts et des plugins
Recaf expose toutes ses fonctionnalités via des API modulaires. Vous pouvez écrire un script pour automatiser un workflow puis l'exécuter encore et encore via la CLI.