Protection passes
Twelve independent passes, chained through the pipeline described in
How it works. Each is verified against
unmodified third-party JARs, a six-project open-source corpus plus an independent
1,208-class application, not only hand-built test fixtures.
- Nativization ImplementedMethod bodies translated to Rust, compiled, relinked through JNI.
- Class name obfuscation ImplementedEvery eligible class renamed into one flat, opaque package.
- Method & field renaming ConditionalPrivate always; non-private only within a fully closed hierarchy.
- String & constant encryption ConditionalEvery string literal in a method body, encrypted and decrypted at the call site.
- Control-flow flattening ConditionalBranches rewritten through a single dispatcher table.
- Decompiler-resistant wrapping ImplementedWhole-method exception wrapping with no behavioural change.
- Anti-tamper checksums ImplementedPer-class SHA-256 verified at load time, fails on a mismatch.
- Anti-debug detection ConditionalDetects a JDWP debug agent at JVM startup.
- Resource & asset encryption ConditionalBundled resources encrypted and decrypted at the call site.
- Native library bundling ImplementedThe compiled library obfuscated under a randomised per-build path.
- Loader & runtime hardening ImplementedRJNI's own bootstrap classes renamed per build, same as customer code.
- Build-time watermarking ImplementedA per-build identifier, recoverable without running the jar.