What is Recaf?
Recaf is an open-source Java bytecode editor built on top of Objectweb's ASM. ASM is a bytecode manipulation library that abstracts away the constant pool and a few other class-file attributes. Since keeping track of the constant pool and managing proper stackframes are no longer necessary, complex changes can be made with relative ease. With additional features to assist in the process of editing classes, Recaf is the most feature rich free bytecode editor available.
While ASM makes bytecode manipulation very simple it does not mean you should dive head-first into editing compiled java programs without understanding some basic programming concepts and the Java class file architecture. Here are some references for these topics:
- Specification: Chapter 4. The class File Format
- JVM Architecture 101: Get to Know Your Virtual Machine
- Java opcodes:
Download & Building
Downloadable jar binaries are provided through Github's release page.
Alternatively you can build from the source by cloning (or downloading) the repository and using maven to build the executable.
Recaf requires Java 8 to run. To use a few of the features you will need the JDK rather than the JRE. For running on Java 9 and above please read the usage guide for how to do that. Editing capabilities are independent from the version of java you use to run Recaf.
Usage Guide & More Information
Contact & Support
For reporting bugs and suggesting new features please use the github repo's issue page and submit a new issue. For other inquiries join the discord server here: discord.gg/Bya5HaA