16 dépôts
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.
Ce projet est une collection de rapports d'analyse de malware et de code décompilé axés sur une porte dérobée (backdoor) intégrée dans une application Android. Il sert d'étude sur les malwares APK Android, documentant les patterns de code spécifiques utilisés pour l'accès non autorisé aux données et le contournement de la sécurité système. La recherche se concentre sur le chargement dynamique de bytecode et l'exécution de fichiers distants pour implémenter la persistance. Elle analyse spécifiquement les mécanismes de téléchargement et d'exécution de fichiers Dalvik Executable distants pour modifier le comportement de l'application sans mettre à jour le paquet installé. L'analyse couvre plusieurs domaines de sécurité, incluant la recherche sur l'élévation de privilèges pour identifier comment les vérifications système sont contournées pour obtenir des permissions élevées. Elle inclut également des audits des techniques d'exfiltration de données utilisées pour capturer les notifications système et les enregistrements d'utilisation des applications.
Investigates the mechanism of downloading and executing remote Dalvik Executable files for persistence.
gradle-retrolambda est un plugin Gradle et un transformateur de bytecode conçu pour permettre l'utilisation des expressions lambda Java modernes dans les environnements d'exécution Java et Android hérités. Il fonctionne comme un outil de backporting qui garantit que la syntaxe de programmation fonctionnelle moderne reste compatible avec les anciennes machines virtuelles. Le projet transforme les fichiers de classe compilés pour les rendre compatibles avec les environnements Java 6 et 7. Cela permet d'utiliser des fonctionnalités Java modernes dans des projets qui doivent maintenir une rétrocompatibilité avec d'anciens niveaux d'API et des appareils Android obsolètes. L'outil s'intègre au processus d'automatisation de build Gradle, en appliquant des transformations post-compilation pour modifier la sortie binaire. Il utilise le désucrage au niveau du bytecode pour convertir les expressions lambda en classes internes anonymes et génère des ponts d'exécution compatibles.
Gradle plugin that converts Java lambda expressions into bytecode compatible with Java 6 and 7 environments.
Hooker est une boîte à outils pour l'instrumentation dynamique, l'analyse mémoire et la dés-obfuscation d'applications Android. Il fonctionne comme un framework de rétro-ingénierie qui utilise Frida pour injecter des scripts dans des processus en cours d'exécution, surveiller les appels natifs et extraire des fichiers DEX exécutables. Le projet fournit des utilitaires spécialisés pour contourner les contrôles de sécurité, notamment des outils pour désactiver la validation des certificats SSL et le pinning BoringSSL afin de permettre l'interception du trafic HTTPS. Il inclut des capacités pour détecter le packing d'applications, extraire des clés cryptographiques en hookant les algorithmes de chiffrement et contourner les vérifications d'environnement root ou de débogage. Le framework couvre un large éventail de capacités d'analyse, incluant le scan mémoire pour la détection de composants actifs, la configuration de proxy SOCKS5 pour le routage du trafic réseau et l'analyse d'interaction UI. Il prend également en charge la collecte d'empreintes numériques d'appareils et le débogage de WebViews intégrées.
Frida dumps memory to retrieve executable files from protected or packed Android applications.
cglib est une suite d'outils pour la génération de bytecode JVM, la transformation de classes et le proxying dynamique. Elle fournit une API de haut niveau pour créer et transformer du bytecode Java à l'exécution afin de modifier le comportement des classes et un framework pour intercepter les appels de méthodes et l'accès aux champs. Le projet implémente la génération de proxy dynamique pour prendre en charge la programmation orientée aspect et les modèles d'accès aux données personnalisés. Il inclut également un gestionnaire de sérialisation pour implémenter des contrats de sérialisation en ajoutant des méthodes spécifiques et en contrôlant le remplacement d'objets au sein des classes proxy. La bibliothèque couvre la manipulation de bytecode et la transformation de code à l'exécution pour altérer les structures de classe avant leur chargement. Elle inclut en outre des techniques d'optimisation des performances pour réduire la surcharge des proxies via le filtrage de méthodes et des callbacks légers.
Modifies the structure and instructions of compiled bytecode to change behavior before classes load.
Ce projet est un plugin de build Gradle pour Android conçu pour automatiser la création de paquets d'application spécifiques à plusieurs canaux à partir d'un seul processus de build. Il fonctionne comme un générateur de variantes APK qui injecte des identifiants de distribution uniques dans les paquets d'application pour suivre les sources d'installation à travers différents app stores. L'outil gère l'ensemble du cycle de vie de la distribution, de la définition des canaux cibles via une configuration externe à la génération des variantes de paquets correspondantes. Il utilise une dénomination d'artefact basée sur des modèles avec des espaces réservés dynamiques pour organiser les fichiers de sortie et inclut un système pour télécharger des binaires signés et des métadonnées vers des dépôts Maven distants via des endpoints de release et de snapshot. Le plugin gère les transformations de paquets post-build pour intégrer des marqueurs de distribution sans nécessiter une recompilation complète. Il fournit en outre des capacités d'identification de canal au runtime pour déclencher un comportement spécifique à l'environnement, ainsi que des utilitaires de validation pour vérifier que les balises de canal correctes ont été intégrées pendant le build.
Modifies compiled application files after the build to embed metadata without requiring a full recompilation.
Ce projet est une suite complète de rétro-ingénierie Android qui fonctionne comme un décompilateur, un désobfuscateur de bytecode et un outil d'analyse de malware. Il est conçu pour convertir les binaires APK, DEX et OAT en code source lisible par l'homme en utilisant une implémentation native qui ne nécessite pas de machine virtuelle Java. La plateforme se distingue par son intégration avec Frida pour l'analyse dynamique, permettant aux utilisateurs de hooker des méthodes, d'injecter du JavaScript personnalisé et de dumper la mémoire de l'appareil en temps réel. Elle dispose également de moteurs de sécurité spécialisés, incluant un moteur de propagation de taint et une machine à états de pile, pour détecter les fuites de confidentialité, les comportements malveillants et les vulnérabilités de sécurité. La suite couvre un large éventail de capacités analytiques, incluant le patching et le repackaging de binaires, le mappage des dépendances par références croisées et l'analyse de flux de données. Elle fournit des outils pour l'identification des packers logiciels, le décodage de chaînes chiffrées et la recherche globale de métadonnées à travers les ressources de l'application. L'outil fournit une interface en ligne de commande et prend en charge l'automatisation de l'analyse via des scripts Python ou Java personnalisés.
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.