Visor de código de bytes
Bytecode Viewer: un visor, descompilador y más de código de bytes de Java/Android ligero y fácil de usar.
Nuevas características
- Saltar a Declaración
- Pestañas arrastrables
- CVE-2022-21675 parcheado (asegúrese de actualizar a v2.11.X)
- Modo oscuro por defecto con múltiples temas
- Traducido a más de 30 idiomas, incluidos: árabe, alemán, japonés, mandarín, ruso y español.
- Plugin Writer: cree y edite complementos externos desde BCV
- Se corrigió la edición/compilación de Java y Bytecode.
- Consola de complementos con pestañas
- Menús contextuales en los paneles de recursos y búsqueda
- Desensamblador Javap
- Soporte XAPK
- Dependencias más recientes (incluidos descompiladores como CFR, JD-GUI, etc.)
- Se agregó soporte para archivos Java compilados usando JDK > 13.
- Migrado a Maven
Campo de golf
- Discordia BCV
- Sitio web
- Código fuente
- Papelera/Archivo
- Documentos Java
- Licencia (Copyleft)
- Créditos
- Contribuyendo
- Informar errores
- Foro de discusión
Características clave
- Simplemente arrastre y suelte para descompilar y buscar Java Jars y APK de Android
- Compatibilidad con formatos de archivo para: Class, Jar, XAPK, APK, DEX, WAR, JSP, recursos de imágenes, recursos de texto y más
- 6 descompiladores de Java integrados: Krakatau, CFR, Procyon, FernFlower, JADX, JD-GUI
- 3 desensambladores Bytecode incorporados, incluidos 2 ensambladores: Krakatau y Smali/BakSmali
- Soporte APK/DEX de Dex2Jar y Enjarify
- Compilador Java incorporado
- Funcionalidad avanzada de búsqueda estática
- Interfaz de usuario personalizable
- Complementos + Diseño de motor de secuencias de comandos
- API de escaneo de código malicioso
- Traducido a más de 30 idiomas, incluidos: árabe, alemán, japonés, mandarín, ruso y español)
- Exportar funcionalidad como Runnable Jar, Zip, APK, descompilar todo como Zip, etc.
- ¡Y más! ¡Pruébalo tú mismo!
Entrada de línea de comando
-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é es el visor de código de bytes?
Bytecode Viewer (BCV) es una suite avanzada y ligera de ingeniería inversa de Java/Android. Desarrollado por varias herramientas de código abierto, BCV está diseñado para ayudar en el proceso de reversión.
BCV viene con 6 descompiladores, 3 desensambladores, 2 ensambladores, 2 convertidores de APK, búsqueda avanzada, depuración y más.
Está escrito completamente en Java y es de código abierto. Konloch lo mantiene y desarrolla actualmente.
¿Hay una demostración?
Tenga en cuenta que esta demostración es de una versión muy antigua.
¿Cómo instalo BCV?
Descargue la última versión de https://github.com/konloch/bytecode-viewer/releases y ejecute Bytecode-Viewer-2.10.x.jar. Es posible que deba ejecutarlo mediante la línea de comando java -jar Bytecode-Viewer-2.10.x.jar
(reemplace la X con la versión menor actual)
¿Cómo puedo utilizar BCV?
- Comenzando con un archivo Jar, Zip, ClassFile o Android (APK, DEX, XAPK, etc.), arrástrelo a BCV. Iniciará el proceso de decodificación automáticamente.
- Desde aquí puede seleccionar los descompiladores que le gustaría usar seleccionando el Panel de vista>Ver 1, Vista 2, Vista 3, etc.
- Los paneles de visualización se utilizan para mostrar hasta 3 descompiladores uno al lado del otro; también puede alternar la comestibilidad aquí.
- Seleccione el recurso que desea abrir navegando usando la lista de recursos, BCV hará todo lo posible para mostrarlo (Descompilar, Desensamblar, etc.).
- Puede utilizar complementos para ayudarle a buscar además de utilizar el panel de búsqueda en la esquina inferior izquierda.
¿Cómo funcionan los complementos?
También hay un sistema de complementos que le permitirá interactuar con los archivos de clase cargados. Por ejemplo, podrías escribir un desofuscador de cadenas, un buscador de códigos maliciosos o cualquier otra cosa que se te ocurra.
Puede utilizar uno de los complementos preescritos o escribir el suyo propio. El sistema de complementos admite secuencias de comandos java y javascript.
Una vez que se activa un complemento, lo ejecutará con una ClassNode ArrayList de cada clase cargada en BCV, esto permite al usuario manejarlo completamente usando ASM.
Instrucciones para compilar
Simplemente clone este repositorio y ejecute mvn package
. ¡Es así de simple!
Trabajando en la fuente
Abra el proyecto Maven (por ejemplo, en IntelliJ, abra pom.xml
como un archivo de proyecto).
La interfaz de usuario está retrasada
Cambie el tema a sus sistemas. Vaya a View->Visual Settings->Window Theme
y seleccione System Theme
.
Problemas de espacio en el montón de Java (java.lang.OutOfMemoryError)
Inicie BCV con más RAM, por ejemplo, java -Xmx3G -jar BCV.jar
Problemas de permisos de archivos (java.io.FileNotFoundException)
Haga clic derecho en el archivo jar, vaya a Propiedades y seleccione Desbloquear en Seguridad en la parte inferior de la pestaña General.
Problemas de permisos de archivos APK (java.io.FileNotFoundException)
Ejecute BCV como administrador.
¿Es usted un ingeniero inverso de Java? ¿Quieres aprender?
¡Únase al club Bytecode hoy! - https://the.bytecode.club