Visionneuse de bytecode
Bytecode Viewer - un visualiseur, un décompilateur et plus encore de bytecode Java/Android léger et convivial.
Nouvelles fonctionnalités
- Aller à la déclaration
- Onglets déplaçables
- Patché CVE-2022-21675 (assurez-vous de mettre à niveau vers la v2.11.X)
- Mode sombre par défaut avec plusieurs thèmes
- Traduit dans plus de 30 langues, dont : arabe, allemand, japonais, mandarin, russe, espagnol
- Plugin Writer - créez et éditez des plugins externes depuis la BCV
- Correction de l'édition/compilation de Java et du Bytecode
- Console de plug-in à onglets
- Menus contextuels sur les panneaux de ressources et de recherche
- Désassembleur Javap
- Prise en charge de XAPK
- Dernières dépendances (y compris les décompilateurs comme CFR, JD-GUI, etc.)
- Ajout de la prise en charge des fichiers Java compilés à l'aide de JDK > 13
- Migré vers Maven
Links
- Discorde BCV
- Site web
- Code source
- Corbeille/Archive
- Documents Java
- Licence (Copyleft)
- Crédits
- Contribuer
- Signaler des bogues
- Forum de discussion
Principales fonctionnalités
- Glissez-déposez simplement pour décompiler et rechercher des fichiers Java Jar et Android APK.
- Prise en charge des formats de fichiers : Class, Jar, XAPK, APK, DEX, WAR, JSP, ressources d'images, ressources de texte, etc.
- 6 décompilateurs Java intégrés : Krakatau, CFR, Procyon, FernFlower, JADX, JD-GUI
- 3 désassembleurs de Bytecode intégrés, dont 2 assembleurs : Krakatau et Smali/BakSmali
- Prise en charge APK/DEX de Dex2Jar et Enjarify
- Compilateur Java intégré
- Fonctionnalité avancée de recherche statique
- Interface utilisateur personnalisable
- Plugins + Conception de moteur de script
- API d'analyse de code malveillant
- Traduit dans plus de 30 langues, dont : arabe, allemand, japonais, mandarin, russe, espagnol)
- Fonctionnalité d'exportation sous forme de Runnable Jar, Zip, APK, Decompile All As Zip, etc.
- Et bien plus encore ! Essayez-le par vous-même !
Entrée en ligne de commande
-help Displays the help menu
-clean Deletes the BCV directory
-english Forces English language translations
-list Displays the available decompilers
-decompiler <decompiler> Selects the decompiler, procyon by default
-i <input file> Selects the input file (Jar, Class, APK, ZIP, DEX all work automatically)
-o <output file> Selects the output file (Java or Java-Bytecode)
-t <target classname> Must either be the fully qualified classname or "all" to decompile all as zip
-nowait Doesn't wait for the user to read the CLI messages
Qu’est-ce que la visionneuse de bytecode ?
Bytecode Viewer (BCV) est une suite avancée et légère d'ingénierie inverse Java/Android. Propulsé par plusieurs outils open source, la BCV est conçue pour faciliter le processus d'inversion.
BCV est livré avec 6 décompilateurs, 3 désassembleurs, 2 assembleurs, 2 convertisseurs APK, une recherche avancée, un débogage et plus encore.
Il est entièrement écrit en Java et est open source. Il est actuellement maintenu et développé par Konloch.
Y a-t-il une démo ?
Veuillez noter que cette démo provient d'une très ancienne version
Comment installer la BCV ?
Téléchargez la dernière version depuis https://github.com/konloch/bytecode-viewer/releases et exécutez Bytecode-Viewer-2.10.x.jar. Vous devrez peut-être l'exécuter via la ligne de commande java -jar Bytecode-Viewer-2.10.x.jar
(remplacez le X par la version mineure actuelle)
Comment puis-je utiliser la BCV ?
- En commençant par un fichier Jar, Zip, ClassFile ou Android (APK, DEX, XAPK, etc), faites-le glisser dans BCV. Il lancera automatiquement le processus de décodage.
- À partir de là, vous pouvez sélectionner les décompilateurs que vous souhaitez utiliser en sélectionnant le volet d'affichage> Vue 1, Vue 2, Vue 3, etc.
- Les volets d'affichage sont utilisés pour afficher jusqu'à 3 décompilateurs côte à côte, vous pouvez également activer/désactiver la comestibilité ici.
- Sélectionnez la ressource que vous souhaitez ouvrir en naviguant dans la liste des ressources, la BCV fera de son mieux pour l'afficher (Décompilation, Désassemblage, etc.).
- Vous pouvez utiliser des plugins pour vous aider à effectuer des recherches en utilisant le volet de recherche dans le coin inférieur gauche.
Comment fonctionnent les plugins ?
Il existe également un système de plugins qui vous permettra d'interagir avec les fichiers de classe chargés. Vous pouvez par exemple écrire un désobfuscateur de chaînes, un outil de recherche de code malveillant ou tout ce à quoi vous pouvez penser.
Vous pouvez soit utiliser l'un des plugins pré-écrits, soit écrire le vôtre. Le système de plugins prend en charge les scripts Java et Javascript.
Une fois qu'un plugin est activé, il exécutera le plugin avec une ClassNode ArrayList de chaque classe chargée dans BCV, cela permet à l'utilisateur de le gérer complètement en utilisant ASM.
Instructions pour compiler
Clonez simplement ce dépôt et exécutez mvn package
. C'est aussi simple que ça !
Travailler sur la source
Ouvrez le projet Maven (par exemple dans IntelliJ, ouvrez le pom.xml
en tant que fichier projet).
L'interface utilisateur est en retard
Changez le thème de vos systèmes. Allez dans View->Visual Settings->Window Theme
et sélectionnez System Theme
.
Problèmes d'espace de tas Java (java.lang.OutOfMemoryError)
Démarrez BCV avec plus de RAM, par exemple java -Xmx3G -jar BCV.jar
Problèmes d'autorisation de fichier (java.io.FileNotFoundException)
Faites un clic droit sur le fichier jar, accédez à Propriétés et sélectionnez Débloquer sous Sécurité en bas de l'onglet Général.
Problèmes d'autorisation de fichier APK (java.io.FileNotFoundException)
Exécutez BCV en tant qu'administrateur.
Êtes-vous un ingénieur inverse Java ? Voulez-vous apprendre?
Rejoignez le Bytecode Club dès aujourd'hui ! - https://the.bytecode.club