Code virtualization for Java & native

Keep your code out of reach of reverse engineers

Blackout converts your most sensitive code into custom virtual machine bytecode, so decompilers and disassemblers have nothing readable to recover. Protect your Java and Native applications from cracking and tampering.

Why virtualization

Obfuscation slows attackers. Virtualization stops them.

Obfuscated code is still standard code. Virtualized code isn’t.

Traditional obfuscation

Harder to read, still standard code

  • Renames symbols, keeps standard instructions
  • Decompilers can often recover the logic
Blackout

One platform, two editions.

How it works

From build to protected release.

  1. 1. Upload

    Send your JAR or executable.

  2. 2. Lifting

    Code is lifted to an IR.

  3. 3. Transmutation

    IR becomes VM bytecode.

  4. 4. Protect

    Encrypt, harden, deliver.

Capabilities

Layered protection.

Code virtualization

Sensitive logic runs on a custom virtual machine.

String and code encryption

Keep endpoints and keys out of static analysis.

Anti-tampering

Makes patching and repackaging much harder.

Selective protection

Protect only what matters and keep performance.

FAQ

Questions, answered.

Can’t find what you need?

Contact us
What is code virtualization, and how is it different from obfuscation?

Obfuscation rewrites your code but keeps it in standard instructions, so decompilers can often recover it. Virtualization replaces the original instructions with custom virtual machine bytecode, so there is nothing readable left to recover.

What can I protect?

Java applications from Java 4 to Java 27, and native applications for Windows, macOS, and Linux on x64. Support for arm64 and riscv64 is in progress.

Will it slow down my application?

Blackout is highly optimized, so most applications run without noticeable impact. Particularly complex methods may see some slowdown, which is why you choose which methods or code regions to protect: virtualize the sensitive logic and leave performance-critical paths untouched.

Do I need to share my source code?

No. Lapse.re works on your compiled JAR or executable. Uploaded files are stored only while they are processed and deleted when processing completes.

Can a protected application still be reverse engineered?

Nothing is impossible, but reversing virtualized code is extremely complex and time-consuming, even with automated tools and AI. For best results, combine it with server-side enforcement of critical secrets.

How do I get started?

Contact us with your application, its platform, and what you need to protect. We confirm scope, deliverables, and conditions before any order is accepted.