SaaSHub helps you find the best software and product alternatives Learn more →
Top 12 Java Bytecode Manipulation Projects
-
bytecode-viewer
A Java 8+ Jar & Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger & More)
-
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
Project mention: Ulyp: Recording Java code execution for faster debugging (Part 1) | dev.to | 2024-10-13
Currently, Ulyp uses bytebuddy library which does an immense job of handling all the work of instrumentation and makes it extremely easy for all Java developers. The rest is relatively straightforward to implement. The ongoing blogposts will shed a light on how the tool is implemented. Right now, let’s move to action.
-
-
In the above program ‘OOMMetaspace’ class’s ‘main()’ method contains an infinite ‘while (true)’ loop. Within the loop, thread uses open-source library javassist to create dynamic classes whose names start with ‘com.buggyapp.MetaspaceObject’. Class names generated by this program will look something like this: ‘com.buggyapp.MetaspaceObjectb7a02000-ff51-4ef8-9433-3f16b92bba78’. When so many such dynamic classes are created, the Metaspace memory region will reach its limit and the JVM will throw ‘java.lang.OutOfMemoryError: Metaspace’.
-
Very niche but: https://github.com/SpongePowered/Mixin
It's not really possible to implement in the same way for many other languages, but something like this for source code transformations is probably the kind of thing they're thinking of.
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
yGuard
The open-source Java obfuscation tool working with Ant and Gradle by yWorks - the diagramming experts
-
MixinExtras
Companion library to SpongePowered Mixin with many custom injectors for a more expressive experience.
-
javaflame
Create reports for function calls with argument and return values on java. No servers or open connections, just plug the agent and get the results.
-
Maker
Cojen/Maker is a lightweight, full-featured, low-level dynamic Java class generator designed for ease of use.
-
Project mention: Reverse engineer Spring Web in 5 minutes using a recording debugger | dev.to | 2024-12-17
Large Java frameworks can be reverse engineered with help of some tools. The article shows how to dig into Spring Web internals with help of ulyp in less than 10 minutes. A developer can observe how framework works inside before diving into source code. This is a part 2 of the ongoing blog series about ulyp. The first part is available here.
Java Bytecode Manipulation discussion
Java Bytecode Manipulation related posts
-
Introduction to Mixins (2015)
-
Mixin is a trait/mixin and bytecode weaving framework for Java using ASM
-
Ulyp: Recording Java code execution for faster debugging (Part 1)
-
How to Solve OutOfMemoryError: Metaspace
-
Show HN: Javaflame – Simple Flamegraph for your Java application
-
Monkey-patching in Java
-
JUnit 5: link tests with task tracker issues
-
A note from our sponsor - SaaSHub
www.saashub.com | 24 Jun 2025
Index
What are some of the best open-source Bytecode Manipulation projects in Java? This list will help you:
# | Project | Stars |
---|---|---|
1 | bytecode-viewer | 15,067 |
2 | Byte Buddy | 6,525 |
3 | Recaf | 6,478 |
4 | Javassist | 4,193 |
5 | Mixin | 1,579 |
6 | threadtear | 925 |
7 | Byteman | 497 |
8 | yGuard | 418 |
9 | MixinExtras | 368 |
10 | javaflame | 91 |
11 | Maker | 59 |
12 | ulyp | 25 |