Cybersecurity Updates & Tools

Recaf Java Bytecode Editor for Editing Java Applications

Recaf is a modern Java bytecode editor built on ObjectWeb’s ASM library. It allows developers and security researchers to inspect and modify Java applications without manually dealing with constant pools or stack frames. Its interface and editing features make working with compiled Java classes more convenient.

Also Read: IP Obfuscator: Simple Tool to Social Engineer and Bypass Firewall

Recaf Java Bytecode Editor Requirements

Recaf can run with Java 8 or later. The original project instructions recommend using the latest available JDK 8 release. Java 9 and newer require an additional dependency adjustment when building the application from source.

  • Java 8: No additional configuration is required.
  • Java 9 and later: Update the ControlsFX dependency in the project’s pom.xml file, changing version 8.40.14 to 9.0.0. Then build the project with Maven.

To build Recaf from source, install Maven, open a terminal in the project directory, and run:

mvn package

Keep in mind that the project’s original GitHub releases were built for Java 8. Check the release information and compatibility requirements before choosing a version for your environment.

How to Download and Run Recaf

You can obtain Recaf by downloading a prebuilt JAR file from the project’s GitHub Releases page, or by downloading the source code and compiling it with Maven.

Although you can launch the JAR file by double-clicking it, starting Recaf from the command line is recommended. This lets you specify the JDK’s Java executable and can enable additional features that depend on JDK functionality, such as tools.jar.

On Windows, a Java 8 installation could be launched with a command similar to this:

"C:\Program Files\Java\jdk1.8.0_202\bin\java.exe" -jar recaf.jar

Replace the example JDK path and JAR filename with the locations on your computer.

Configure Additional JDK Functionality

The original Recaf instructions describe an additional setup step for making the contents of tools.jar available on the classpath. For the specified Java 8 setup, copy tools.jar into the following directory:

jdk\jre\lib\ext

This instruction applies to the Java 8 environment described in the original documentation. Directory layouts and JDK tool availability differ across Java versions, so verify the requirements for your selected release before applying this configuration.

Open Java Files from the Command Line

Recaf also supports opening a JAR file and navigating directly to a specified class through command-line arguments. For example:

java -jar recaf.jar -i MyJar.jar -c com/example/MyClass

In this example, -i specifies the input JAR file, while -c identifies the class to open. Replace MyJar.jar and com/example/MyClass with the appropriate file and class names.

To get started, download Recaf from the official GitHub repository and review the instructions for the version you plan to use.