Repolode
Col-E

Col-E/Recaf

A Java and Android bytecode editor with an IDE-like interface for decompiling, editing, deobfuscating and exporting compiled applications.

Stars
7,456
Forks
546
Open issues
61
Last commit
5 days ago

What is it?

Recaf is a bytecode editor for compiled Java and Android applications. It lets you open a JAR without its original source, browse classes through a familiar IDE-like interface, edit code at the decompiled-source or bytecode-assembler level, and export the modified application.

The decompiler view supports CFR, Procyon and Fernflower, and the search feature covers strings, constants, class references, methods and bytecode instruction patterns. Recaf also includes tools for analyzing obfuscated code, such as bytecode transformers for opaque constants and predicates, pattern-driven mass renaming, and export of mappings to other tools.

The project offers a scripting API and a headless CLI mode for automating analysis workflows, and it can be built with Gradle or opened in an IDE.

Key features

  • 01Decompile with CFR, Procyon or Fernflower and edit the resulting Java source directly.
  • 02Use a bytecode assembler with variable names, syntax feedback and control-flow visualization.
  • 03Search for strings, constants, class references, methods and instruction patterns.
  • 04Apply bytecode transformers and pattern-based renaming to deobfuscate applications.
  • 05Automate workflows with scripts run from the command line.

Use cases

  • Inspecting a Java or Android app when no source code is available.
  • Patching a library class that is missing from a JAR by generating skeleton code.
  • Analyzing and deobfuscating protected or obfuscated Java applications.
  • Scripting repeated reverse engineering tasks in headless mode.

Quick start

  1. 1

    Clone the repository

    git clone https://github.com/Col-E/Recaf.git
  2. 2

    Build the project with Gradle

    gradlew build
  3. 3

    Run the built jar from recaf-ui/build/libs

Things to know

  • Development setup requires building from source with Gradle or an IDE.

In collections

Topics

FAQ

What is Recaf?
A Java and Android bytecode editor with an IDE-like interface for decompiling, editing, deobfuscating and exporting compiled applications. Recaf is a bytecode editor for compiled Java and Android applications. It lets you open a JAR without its original source, browse classes through a familiar IDE-like interface, edit code at the decompiled-source or bytecode-assembler level, and export the modified application.
Is Recaf free to use? What license does it have?
Recaf is open source under the MIT license. Check the license terms before using it in commercial products.
Is Recaf still maintained?
Actively maintained. The last commit to Recaf was on Nov 2, 2026.
What can I use Recaf for?
Inspecting a Java or Android app when no source code is available. Patching a library class that is missing from a JAR by generating skeleton code. Analyzing and deobfuscating protected or obfuscated Java applications. Scripting repeated reverse engineering tasks in headless mode.
How do I install Recaf?
Clone the repository: git clone https://github.com/Col-E/Recaf.git Build the project with Gradle: gradlew build Run the built jar from recaf-ui/build/libs
Where can I get Recaf?
The source code and installation instructions are on GitHub: https://github.com/Col-E/Recaf

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects