Skip to content

Releases

ClassRevive 0.1.0

Choose a tag to compare

@t1zzo t1zzo released this 01 Nov 00:30
acad34d

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 in report.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).

  1. Download classrevive-0.1.0.zip and check it against SHA256SUMS (sha256sum -c SHA256SUMS).
  2. Extract it and run bin/classrevive-gui (desktop) or bin/classrevive decompile <file> --output <new-folder> (Windows: the .bat launchers).

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.