Recaf : A Modern Java Bytecode Editor

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. 

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

Requirements

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
R K

Recent Posts

git fetch vs git pull: How They Work and When to Use Each

Both git fetch and git pull talk to a remote repository, but they do very different things to your…

2 days ago

git cherry-pick Command: Apply Commits from Another Branch

Sometimes the change you need already exists, just on the wrong branch. A hotfix lands…

2 days ago

Best Email APIs for Secure Business Email: Why Developers Are Moving Beyond SMTP

Email is still one of the most important communication channels inside modern applications. Password resets,…

3 days ago

Nginx Commands in Linux: Start, Stop, Reload, Test, and Log

Nginx is a high-performance web server and reverse proxy trusted by some of the largest…

6 days ago

ufw Command in Linux: Manage Firewall Rules with Examples

ufw (Uncomplicated Firewall) sits on top of iptables (or nftables on newer systems) and replaces…

6 days ago

who Command in Linux: Show All Logged-In Users and Sessions

When you share a server with a team or investigate unexpected activity, the first question…

6 days ago