Native transpilation + custom virtualizer — live

Make your .jar impossible to reverse.

PCrypt renames, encrypts, transpiles to native, and virtualizes your crown-jewel logic — in a single upload. Decompilers emit spaghetti. Crackers hit a per-build VM. Your code just runs.

Protect a jar — free See how it works

No credit card · runs locally or in your CI · output still passes your tests

checkLicense() · decompiled
Effort
5%

      

Same method, six layers deep — each tab is what a decompiler actually recovers at that protection level.

Defeats CFRFernflowerProcyon JADXRecafBytecode Viewerjavap · grep
The protection stack

Eight layers. One upload.

Each method gets exactly as much protection as it needs — hot code stays fast, crown jewels get the full treatment.

Pipeline

From .jar to fortress in four steps.

The virtualizer

Your logic becomes a VM only your build understands.

Selected methods are compiled to a bespoke instruction set — randomized opcodes, polymorphic handlers, MBA-obfuscated arithmetic and decoy handlers — executed by a native interpreter inside a stripped, encrypted shared library.

  • Per-build ISA — two builds never share an opcode map.
  • MBA + decoys — the same op looks different everywhere; fake handlers add noise.
  • Cross-platform — Windows, Linux, macOS · x64 + arm64.
pc_vrun.c
/* dispatch — per-build randomized + polymorphic */
switch (op) {
  case 311: // IADD (variant A)
    S[sp-2] = (S[sp-2]^S[sp-1]) + 2*(S[sp-2]&S[sp-1]); break;
  case 47:  // IADD (variant B — same result)
    S[sp-2] = (S[sp-2]|S[sp-1]) + (S[sp-2]&S[sp-1]); break;
  case 512: /* decoy — never executed */ break;
}

Ship code worth protecting?

Upload a jar and watch a decompiler give up. Free tier, no card.