Repository navigation
Releases
ClassRevive 0.1.0
ClassRevive 0.1.0 — first public release
ClassRevive recovers readable Java from class files, jars, Android APKs and executables that embed Java. Instead of trusting a single decompiler, it runs several side by side, recompiles their output with javac, checks every method against the original bytecode and keeps the best verified result — method by method. It never runs the code it analyzes.
Highlights
- Multiple engines (CFR, Vineflower, Procyon, JADX), each in its own worker JVM, with per-class signature coverage and a per-method round trip against the original bytecode.
- Per-method composition across engines, compiler-guided repairs, compiler idioms undone in the shown source, and inferred stand-ins for missing libraries (marked as stub-backed).
- Obfuscation profile with obfuscator hypotheses, automatic static reversal of Skidfuscator and Aidsfuscator, and ZKM opaque flags folded.
- Inputs: class files, jars, multi-release jars, APK/dex, and executables with embedded jars.
- Desktop app: browse, decompile with progress, compare engines side by side, find usages and call hierarchy, export as a project. English and Portuguese.
- Reports:
report.txt,report.json(schema v1) and a per-class confidence map inreport.html.
Measured
Scoreboard on public Maven Central libraries, measured 2026-10-29 (see docs/benchmarks.md to reproduce):
holdout(3 libraries): 3/3 compile as a whole; 1,752 / 1,765 method bodies recovered (99.2%).holdout2(13 libraries): 5/13 compile as a whole; 8,774 / 38,445 bodies (22.8%) with whole-library credit, 35,899 / 38,445 (93.3%) with per-file credit.
Install
Requires a Java 21 JDK (javac is needed to verify results).
- Download
classrevive-0.1.0.zipand check it againstSHA256SUMS(sha256sum -c SHA256SUMS). - Extract it and run
bin/classrevive-gui(desktop) orbin/classrevive decompile <file> --output <new-folder>(Windows: the.batlaunchers).
The zip was built by GitHub Actions from tag v0.1.0 and carries a build provenance attestation: gh attestation verify classrevive-0.1.0.zip -R t1zzo/classrevive.
Known limitations
- Recovered source is checked structurally and per method; behavior is not proven equivalent.
- Names, comments and formatting removed by compilation or obfuscation cannot be recovered.
- Code moved into native libraries or encrypted at runtime is out of reach of static analysis.
- Obfuscator detection is heuristic; reversal covers Skidfuscator, Aidsfuscator and ZKM flags only.
- Worker isolation is fault containment, not a sandbox: analyze hostile files in a disposable VM.
Only analyze software you have the right to analyze — see DISCLAIMER.md. Licensed under the ClassRevive License 1.0.