Decompile a JAR file you received without source code and read it as Java to understand what it does.
Edit compiled code in a running Java application without restarting it using live instrumentation.
Search an entire JAR for specific strings, class references, or instruction patterns to find code of interest.
Automate repetitive reverse engineering tasks using Recaf's scripting and plugin API from the command line.
Comes with a launcher application, no complex setup required beyond having Java installed.
Recaf is a desktop application for opening and editing compiled Java programs without needing the original source code. When a developer or security researcher has only a JAR file, Recaf lets them examine the bytecode inside, decompile it into readable Java, make changes, and save the result. It hides low-level bytecode details like constant pool management and stack frame calculations, so the editor behaves more like a code editor than a raw binary tool. The interface includes a navigable class browser with context-sensitive menus. Multiple decompilers are bundled and can be switched between, each with configurable settings. A built-in compiler allows you to take decompiled code, edit it as Java source, and recompile it back into bytecode, even when some referenced classes are missing. For lower-level work, a bytecode assembler is included that shows the state of local variables and the stack at each instruction point, and lets you use variable names instead of numeric indices. Search tools let you find strings, numeric constants, class and method references, and instruction patterns across the entire loaded program. The tool also handles obfuscated code: it can automatically patch certain class files designed to crash other reverse engineering tools, reads JAR archives the same way the Java runtime does to avoid tricks that mislead other tools, and includes transformers for simplifying common obfuscation strategies. Class and member renaming is supported, with the ability to export those mappings for use in other tools. Recaf can attach to a running Java process and apply changes via instrumentation, which means you can modify code in a live application without restarting it. It also runs as a command-line tool, which pairs well with its scripting and plugin API for automating repetitive tasks. Both standard Java applications and Android apps are supported. The project is built with Gradle and has a launcher application for easy installation.
← col-e on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.