An easy to use modern Java bytecode editor that abstracts away the complexities of Java programs. Recaf abstracts away:
- Constant pool
- Stack frames
- Wide instructions
- And more!
This repo contains a modified version of Recaf 2.x. This build uses Java11 and has features to enhance experiences:
- Decompile classes using VineFlower instead of FernFlower
- Searching for inheritance (including interfaces)
- Export decompilation results
- Show hints about Mixin Targets & Fabric Mod Entrypoints
- Generate ASM codes that corresponding to class binaries via ASMifier
- Remapping Fabric mods via TinyV2 Mappings (requires libraries added)
Don't know bytecode? That's ok because Recaf supports recompiling decompiled code and inserting single line Java statements into the bytecode.
For more information: Read the documentation
This video explains what's going on in the the Recaf developer space. What's going on with 3x and 4x, and plans for the future.
See the releases page for the latest build.
If you're just getting started with reverse-engineering in Java, read primer guide. Then check the documentation pages.
Are you a developer?
Check out the open issues, project boards, and many scattered TODO messages throughout the source code. There's plenty to do.
Not a developer?
You can help by reporting bugs, making suggestions, providing translations, and sharing this project.
More information can be found in the contribution guide.
Clone the repository via git clone https://github.com/Col-E/Recaf.git
Open the project in an IDE or generate the build with maven.
IDE:
- Import the project from the
pom.xml - Create a run configuration with the main class
me.coley.recaf.Recaf
Without IDE:
- Execute
build- Follow the prompt in the script to build the project.
- Run the generated build:
java -jar target/recaf-{version}-jar-with-dependencies.jar
For additional information, join the Discord server (https://discord.gg/Bya5HaA)

