16 Repos
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.
Dieses Projekt ist eine Sammlung von Malware-Analyseberichten und dekompiliertem Code, die sich auf eine in eine Android-Anwendung eingebettete Backdoor konzentriert. Es dient als Studie zu Android-APK-Malware und dokumentiert die spezifischen Codemuster, die für unbefugten Datenzugriff und die Umgehung von Systemsicherheitsmechanismen verwendet werden. Die Forschung konzentriert sich auf dynamisches Bytecode-Laden und die Ausführung von Remote-Dateien zur Implementierung von Persistenz. Sie analysiert spezifisch Mechanismen zum Herunterladen und Ausführen von Remote-Dalvik-Executable-Dateien, um das Anwendungsverhalten zu ändern, ohne das installierte Paket zu aktualisieren. Die Analyse deckt mehrere Sicherheitsdomänen ab, einschließlich der Forschung zur Privilegienerweiterung, um zu identifizieren, wie Systemprüfungen für erhöhte Berechtigungen umgangen werden. Sie enthält zudem Audits von Datenexfiltrationstechniken, die zum Abfangen von Systembenachrichtigungen und Anwendungsnutzungsaufzeichnungen verwendet werden.
Investigates the mechanism of downloading and executing remote Dalvik Executable files for persistence.
gradle-retrolambda ist ein Gradle-Plugin und Bytecode-Transformer, mit dem moderne Java-Lambda-Ausdrücke in älteren Java- und Android-Laufzeitumgebungen verwendet werden können. Es fungiert als Backporting-Tool, das sicherstellt, dass moderne funktionale Programmiersyntax mit älteren virtuellen Maschinen kompatibel bleibt. Das Projekt transformiert kompilierte Klassendateien, um sie mit Java 6- und 7-Umgebungen kompatibel zu machen. Dies ermöglicht die Nutzung moderner Java-Features in Projekten, die eine Abwärtskompatibilität zu älteren API-Levels und Legacy-Android-Geräten wahren müssen. Das Tool integriert sich in den Gradle-Build-Prozess und wendet nach der Kompilierung Transformationen an, um die Binärausgabe anzupassen. Es nutzt Bytecode-Desugaring, um Lambda-Ausdrücke in anonyme innere Klassen umzuwandeln und kompatible Laufzeit-Bridges zu generieren.
Gradle plugin that converts Java lambda expressions into bytecode compatible with Java 6 and 7 environments.
Hooker ist ein Toolkit für die dynamische Instrumentierung, Speicheranalyse und Deobfuskierung von Android-Anwendungen. Es fungiert als Reverse-Engineering-Framework, das Frida verwendet, um Skripte in laufende Prozesse zu injizieren, native Aufrufe zu überwachen und ausführbare DEX-Dateien zu extrahieren. Das Projekt bietet spezialisierte Dienstprogramme zur Umgehung von Sicherheitskontrollen, einschließlich Tools zum Deaktivieren der SSL-Zertifikatsvalidierung und des BoringSSL-Pinnings, um die Abfangung von HTTPS-Verkehr zu ermöglichen. Es enthält Funktionen zur Erkennung von Application-Packing, zum Extrahieren kryptografischer Schlüssel durch Hooking von Verschlüsselungsalgorithmen sowie zur Umgehung von Root- oder Debugging-Umgebungsprüfungen. Das Framework deckt ein breites Spektrum an Analysefunktionen ab, darunter Speicherscanning zur Erkennung aktiver Komponenten, SOCKS5-Proxy-Konfiguration für das Routing von Netzwerkverkehr und UI-Interaktionsanalyse. Es unterstützt zudem das Sammeln von Geräte-Fingerprints und das Debugging eingebetteter WebViews.
Frida dumps memory to retrieve executable files from protected or packed Android applications.
cglib ist eine Suite von Tools für JVM-Bytecode-Generierung, Klassentransformation und dynamisches Proxying. Sie bietet eine High-Level-API zum Erstellen und Transformieren von Java-Bytecode zur Laufzeit, um das Klassenverhalten zu modifizieren, sowie ein Framework zum Abfangen von Methodenaufrufen und Feldzugriffen. Das Projekt implementiert dynamische Proxy-Generierung zur Unterstützung aspektorientierter Programmierung und benutzerdefinierter Datenzugriffsmuster. Es enthält zudem einen Serialisierungsmanager, um Serialisierungsverträge durch das Hinzufügen spezifischer Methoden und die Steuerung des Objektaustauschs innerhalb von Proxy-Klassen zu implementieren. Die Bibliothek deckt Bytecode-Manipulation und Laufzeit-Codetransformation ab, um Klassenstrukturen vor dem Laden zu verändern. Sie beinhaltet zudem Performance-Optimierungstechniken, um Proxy-Overhead durch Methodenfilterung und leichtgewichtige Callbacks zu reduzieren.
Modifies the structure and instructions of compiled bytecode to change behavior before classes load.
Dieses Projekt ist ein Android-Gradle-Build-Plugin, das darauf ausgelegt ist, die Erstellung mehrerer kanalspezifischer Anwendungspakete aus einem einzigen Build-Prozess zu automatisieren. Es fungiert als APK-Varianten-Generator, der eindeutige Distributionskennungen in Anwendungspakete injiziert, um Installationsquellen über verschiedene App-Stores hinweg zu verfolgen. Das Tool verwaltet den gesamten Distributions-Lebenszyklus, von der Definition der Zielkanäle über externe Konfiguration bis hin zur Generierung der entsprechenden Paketvarianten. Es verwendet template-basierte Artefakt-Benennung mit dynamischen Platzhaltern, um Ausgabedateien zu organisieren, und enthält ein System zum Hochladen signierter Binärdateien und Metadaten auf entfernte Maven-Repositories via Release- und Snapshot-Endpunkte. Das Plugin handhabt Post-Build-Pakettransformationen, um Distributionsmarker einzubetten, ohne eine vollständige Neukompilierung zu erfordern. Es bietet zudem Funktionen zur Laufzeit-Kanalidentifizierung, um umgebungsspezifisches Verhalten auszulösen, sowie Validierungs-Utilities, um zu verifizieren, dass die korrekten Kanal-Tags während des Builds eingebettet wurden.
Modifies compiled application files after the build to embed metadata without requiring a full recompilation.
This project is a comprehensive Android reverse engineering suite that functions as a decompiler, bytecode deobfuscator, and malware analysis tool. It is designed to convert APK, DEX, and OAT binaries into human-readable source code using a native implementation that does not require a Java Virtual Machine. The platform is distinguished by its integration with Frida for dynamic analysis, allowing users to hook methods, inject custom JavaScript, and dump device memory in real time. It also features specialized security engines, including a taint propagation engine and a stack-state machine, to
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.