5 Repos
Tools that transform compiled bytecode from one virtual machine format to another.
Distinct from Bytecode Disassemblers: Distinct from Bytecode Disassemblers: focuses on format conversion rather than assembly-level disassembly.
Explore 5 awesome GitHub repositories matching development tools & productivity · Bytecode Converters. Refine with filters or upvote what's useful.
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.
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.
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.
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.