16 repositorios
Desktop applications for browsing and inspecting the internal structure of compiled Java classes and JAR files.
Distinguishing note: No existing candidate captures the specific identity of a Java bytecode viewer tool.
Explore 16 awesome GitHub repositories matching development tools & productivity · Java Bytecode Viewers. Refine with filters or upvote what's useful.
This project is a Java bytecode reverse engineering suite that functions as a disassembler, decompiler, and editor for Java class files and Android APK binaries. It provides tools to transform compiled bytecode into assembly instructions or readable source code. The toolset supports Android APK analysis and Java binary patching, allowing for the modification of source code or bytecode and subsequent recompilation into functional binaries. It includes capabilities for removing Java obfuscation and performing malware analysis through the detection of malicious code patterns. The system incorpo
Converts compiled Java classes into assembly instructions for detailed low-level code analysis.
This project is a desktop application designed for the reverse engineering and inspection of compiled Java code. It functions as a graphical interface that translates Java bytecode back into readable source code, allowing users to examine the internal logic of class files and archives when original source files are unavailable. The tool provides a structured environment for navigating complex file hierarchies, including nested archives like JAR and WAR files. By maintaining an in-memory representation of loaded classes, it enables rapid searching and cross-referencing of code elements. The ap
Provides a desktop application for browsing and inspecting the internal structure of compiled Java classes and JAR files.
dex2jar is an Android dex decompiler and reverse engineering tool designed to convert Dalvik executable bytecode into Java class files. It functions as a bytecode converter that transforms compiled Android binaries into a format compatible with standard Java analysis tools. The project facilitates Android app decompilation and Java bytecode recovery by translating executable files into readable structures. This allows for the analysis of application logic and the identification of security vulnerabilities or malicious behavior during Android malware analysis. The tool performs static bytecod
Transforms compiled bytecode between different formats to facilitate source code recovery.
Android Classyshark is a binary analysis toolset designed to extract structural data from Android executable files. It functions as a bytecode viewer and binary XML parser to analyze compiled Java and Android binaries. The project converts binary XML files into readable formats for the inspection of application manifests, layouts, and resource files. It also provides the ability to analyze class interfaces, members, and dependency counts without requiring access to the original source code. The toolset supports static analysis and the export of binary information into plain text formats for
Provides a tool for inspecting Java and Android binaries to analyze class interfaces and dependency counts.
A bytecode optimizer for Android apps
Reads and transforms .dex files through a structured framework for custom optimization passes.
BlackDex is an Android runtime-level DEX extraction tool that recovers bytecode from protected APK files across Android versions 5 through 12 without requiring root access. It operates by hooking system APIs, reading DexFile cookies, and repairing obfuscated method bodies from memory, supporting both 32-bit and 64-bit architectures for installed and uninstalled applications. The tool distinguishes itself through a multi-method approach that combines cookie-based dumping, API hooking, and memory-based instruction repair to handle first through third generation packers. It reconstructs method b
Recovers DEX files from obfuscated or packed Android applications by bypassing protection layers.
Este proyecto es una colección de informes de análisis de malware y código descompilado centrado en una puerta trasera (backdoor) embebida dentro de una aplicación Android. Sirve como estudio de malware en APKs de Android, documentando los patrones de código específicos utilizados para el acceso no autorizado a datos y la omisión de medidas de seguridad del sistema. La investigación se centra en la carga dinámica de bytecode y la ejecución de archivos remotos para implementar persistencia. Analiza específicamente mecanismos para descargar y ejecutar archivos Dalvik Executable remotos para cambiar el comportamiento de la aplicación sin actualizar el paquete instalado. El análisis cubre varios dominios de seguridad, incluyendo investigación sobre escalada de privilegios para identificar cómo se omiten las comprobaciones del sistema para obtener permisos elevados. También incluye auditorías de técnicas de exfiltración de datos utilizadas para capturar notificaciones del sistema y registros de uso de aplicaciones.
Investigates the mechanism of downloading and executing remote Dalvik Executable files for persistence.
gradle-retrolambda es un plugin de Gradle y transformador de bytecode diseñado para permitir el uso de expresiones lambda de Java moderno en entornos de ejecución de Java y Android antiguos. Funciona como una herramienta de backporting que asegura que la sintaxis de programación funcional moderna siga siendo compatible con máquinas virtuales antiguas. El proyecto transforma archivos de clase compilados para hacerlos compatibles con entornos Java 6 y 7. Esto permite utilizar características modernas de Java en proyectos que deben mantener compatibilidad con versiones anteriores de la API y dispositivos Android antiguos. La herramienta se integra en el proceso de automatización de compilación de Gradle, aplicando transformaciones post-compilación para modificar el binario de salida. Utiliza desugaring a nivel de bytecode para convertir expresiones lambda en clases internas anónimas y genera puentes de ejecución compatibles.
Gradle plugin that converts Java lambda expressions into bytecode compatible with Java 6 and 7 environments.
Hooker es un kit de herramientas para la instrumentación dinámica, análisis de memoria y desofuscación de aplicaciones Android. Funciona como un framework de ingeniería inversa que utiliza Frida para inyectar scripts en procesos en ejecución, monitorizar llamadas nativas y extraer archivos DEX ejecutables. El proyecto proporciona utilidades especializadas para eludir controles de seguridad, incluyendo herramientas para deshabilitar la validación de certificados SSL y el pinning de BoringSSL para permitir la interceptación de tráfico HTTPS. Incluye capacidades para detectar el empaquetado de aplicaciones, extraer claves criptográficas mediante el hooking de algoritmos de cifrado y eludir comprobaciones de root o entornos de depuración. El framework cubre una amplia gama de capacidades de análisis, incluyendo escaneo de memoria para la detección de componentes activos, configuración de proxy SOCKS5 para el enrutamiento de tráfico de red y análisis de interacción con la UI. También soporta la recopilación de huellas digitales del dispositivo y la depuración de WebViews integrados.
Frida dumps memory to retrieve executable files from protected or packed Android applications.
cglib es un conjunto de herramientas para la generación de bytecode de la JVM, transformación de clases y creación de proxies dinámicos. Proporciona una API de alto nivel para crear y transformar bytecode de Java en tiempo de ejecución para modificar el comportamiento de las clases, así como un framework para interceptar llamadas a métodos y acceso a campos. El proyecto implementa la generación de proxies dinámicos para soportar la programación orientada a aspectos y patrones de acceso a datos personalizados. También incluye un gestor de serialización para implementar contratos de serialización añadiendo métodos específicos y controlando el reemplazo de objetos dentro de las clases proxy. La librería cubre la manipulación de bytecode y la transformación de código en tiempo de ejecución para alterar las estructuras de las clases antes de que se carguen. Además, incluye técnicas de optimización de rendimiento para reducir la sobrecarga de los proxies mediante el filtrado de métodos y callbacks ligeros.
Modifies the structure and instructions of compiled bytecode to change behavior before classes load.
Este proyecto es un plugin de compilación de Gradle para Android diseñado para automatizar la creación de paquetes de aplicaciones específicos para cada canal a partir de un único proceso de compilación. Funciona como un generador de variantes de APK que inyecta identificadores de distribución únicos en los paquetes de aplicaciones para rastrear las fuentes de instalación en diferentes tiendas de aplicaciones. La herramienta gestiona todo el ciclo de vida de la distribución, desde la definición de canales de destino mediante configuración externa hasta la generación de las variantes de paquete correspondientes. Utiliza nombres de artefactos basados en plantillas con marcadores de posición dinámicos para organizar los archivos de salida e incluye un sistema para cargar binarios firmados y metadatos en repositorios Maven remotos a través de endpoints de lanzamiento y snapshot. El plugin maneja transformaciones de paquetes post-compilación para incrustar marcadores de distribución sin requerir una recompilación completa. Además, proporciona capacidades para la identificación de canales en tiempo de ejecución para activar comportamientos específicos del entorno, así como utilidades de validación para verificar que las etiquetas de canal correctas se incrustaron durante la compilación.
Modifies compiled application files after the build to embed metadata without requiring a full recompilation.
Este proyecto es una suite integral de ingeniería inversa para Android que funciona como descompilador, desofuscador de bytecode y herramienta de análisis de malware. Está diseñado para convertir binarios APK, DEX y OAT en código fuente legible por humanos utilizando una implementación nativa que no requiere una Máquina Virtual Java. La plataforma destaca por su integración con Frida para el análisis dinámico, permitiendo a los usuarios enganchar métodos, inyectar JavaScript personalizado y volcar la memoria del dispositivo en tiempo real. También cuenta con motores de seguridad especializados, incluyendo un motor de propagación de contaminación (taint propagation) y una máquina de estados de pila, para detectar fugas de privacidad, comportamientos maliciosos y vulnerabilidades de seguridad. La suite cubre una amplia gama de capacidades analíticas, incluyendo el parcheo y reempaquetado de binarios, mapeo de dependencias de referencias cruzadas y análisis de flujo de datos. Proporciona herramientas para la identificación de empaquetadores de software, decodificación de cadenas cifradas y búsqueda global de metadatos a través de los recursos de la aplicación. La herramienta proporciona una interfaz de línea de comandos y admite la automatización del análisis mediante scripts personalizados en Python o Java.
Recovers DEX files from protected or packed Android applications by bypassing protection layers.
frida-dexdump is an Android memory forensics tool that recovers Dalvik Executable (DEX) files from running application processes using the Frida dynamic instrumentation framework. It functions as a Frida-based runtime analyzer and DEX memory dumper, capable of extracting obfuscated or packed DEX files without modifying the Android system. The tool distinguishes itself through its ability to repair corrupted or missing DEX file headers using heuristic analysis and fuzzy matching techniques. It employs fuzzy boundary detection to identify DEX file boundaries in memory even when headers are dama
Extracting Dalvik Executable files from active app processes without modifying the Android system.
This repository is a collection of technical knowledge and solutions focused on mobile application development, particularly for Android and iOS platforms. It covers a wide range of practical engineering challenges, including hotfix and patching techniques, database management and repair, network communication, logging, and video processing. The content is presented as shared knowledge, documenting real-world problems and their implementations. The project provides detailed guidance on applying hotfixes to running Android applications through multiple methods, such as class replacement, full
Generates patches from DEX file differences and reconstructs full DEX at runtime for Android hotfixes.
pyinstxtractor is a PyInstaller executable unpacker and Python bytecode recovery tool. It functions as a helper for decompiling compiled Python binaries by extracting bundled binaries and bytecode from executables created with PyInstaller. The project includes a bytecode decryptor to remove encryption from extracted files and a header repair tool that restores corrupted headers. These capabilities ensure that extracted compiled files are compatible with bytecode decompilation software. The utility covers reverse engineering of Python applications, supporting malware analysis workflows throug
Restores original bytecode structures, including headers and decrypted content, from compiled binaries.
TeaVM is a Java bytecode transpiler and browser-based JVM runtime that converts compiled Java class files into JavaScript or WebAssembly. It functions as a compiler and build pipeline tool that enables applications written in various JVM languages to execute natively within a web browser. The project distinguishes itself by transforming bytecode directly into optimized web formats without requiring the original source code. It includes a WebAssembly bytecode compiler for high-performance execution and a specialized emulation system to handle asynchronous multithreading within the single-threa
Converts JVM bytecode into JavaScript or WebAssembly for execution in a web browser.