Recaf is an easy to use modern Java bytecode editor based on Objectweb’s ASM. No more hassling with the constant pool or stack-frames required.
You can run Recaf with Java 8 or higher (Its recommended that you use the lastest jdk8 release from jdk.java.net). Using Java 9 and higher requires an additional step to use.
- Java 8: No additional steps required.
- Java 9+: Update the controlsfx dependency in the pom.xml such that the 8.40.14 release is changed to the 9.0.0 release. You can then build from the source code with maven (Open a terminal and enter mvn package assuming you have Maven installed). Be aware that the github releases are based on Java 8.
Running & Updates
To get the latest version of Recaf you can either download the source code and compile with maven or grab a binary from the releases page.
As a jar file you can double click it to run Recaf. However it is reccomended that you launch via command line so you can specify the JDK java executable.
Doing this will unlock additional features that rely on JDK functionality (tools.jar). For example on windows you would use the following command:
“C:\Program Files\Java\jdk1.8.0_202\bin\java.exe” -jar recaf.jar
- Note: To ensure the classpath contains the contents of jdk\lib\tools.jar copy it into your jdk\jre\lib\ext folder.
- Note: You can automate opening files via command line: java -jar recaf.jar -i MyJar.jar -c com/example/MyClass