re-java

Decompile and analyze Java bytecode from jar, war, and class files using CFR, JD-GUI, and javap.

64|9|Updated Aug 17, 2026
One-click install
npx skills add https://github.com/dslsdzc/rev-skills --skill re-java-dslsdzc
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: re-java
Source: https://github.com/dslsdzc/rev-skills/tree/main/.claude/skills/re-java
Command: npx skills add https://github.com/dslsdzc/rev-skills --skill re-java-dslsdzc

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Reverse engineering Java applications requires unpacking jar/war archives, decompiling bytecode, and defeating obfuscation or string encryption, which is tedious and error-prone without a structured workflow. ## Core Features & Use Cases - Archive Unpacking: Extract jar, war, fat jar (Spring Boot), aar, and Multi-Release jar structures with unzip and the JDK jar tool. - Bytecode Decompilation: Restore Java source with CFR, JD-GUI, or procyon, cross-validated against javap bytecode output. - Obfuscation Handling: Identify ProGuard, Allatori, and ZKM obfuscation, locate string decryption routines, and recover plaintext statically or dynamically via JDB/Frida in a sandbox. - Use Case: Given a suspicious jar sample, unpack it, decompile all classes with CFR, grep for plaintext indicators, and reconstruct the encrypted string logic to understand its behavior. ## Quick Start Decompile the attached app.jar file and help me locate its license key verification logic.

Frequently Asked Questions about re-java

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I decompile a jar file to Java source code?▼

Use CFR with the command java -jar cfr.jar app.jar --outputdir cfr_out/ to decompile an entire jar into Java source. JD-GUI provides a GUI alternative where you open the jar and use File > Save All Sources to export.

CFR vs JD-GUI: which Java decompiler should I use?▼

CFR handles lambdas and modern bytecode better and runs from the command line, while JD-GUI works well for older code with a graphical browser. Cross-validate critical classes with both since no decompiler produces perfectly accurate output.

How do I analyze ProGuard obfuscated Java code?▼

ProGuard renames classes and methods to a/b/c, so start from plaintext strings: grep for URLs or prompt messages in the decompiled output, find the classes referencing them, and trace the call chain to recover semantics.

Why does javap report unsupported class file version?▼

The class file's major version is higher than your installed JDK supports. Compute the target Java version as major minus 44 (e.g., 61 = Java 17), then install a matching or newer JDK to run javap.

Can this skill analyze Android APK files directly?▼

No, Android DEX bytecode is handled by the re-apk skill. Once DEX is converted to jar format, this skill's CFR/JD-GUI decompilation workflow applies to the resulting classes.

How do I handle Java string encryption like Allatori?▼

Locate the StringEncryptor decryption class and its key/algorithm statically, then replicate it in Python to batch-decrypt strings. If static analysis stalls, run the sample in a sandbox and use JDB eval or Frida to capture decrypted plaintext at runtime.