Translation to Rust
Arithmetic and stack operations, branches and loops, method calls of every kind,
lambdas and method references, objects, arrays and casts, long, float and double,
exceptions and try/catch, whole-method synchronized, switches, bitwise and
shift operators, string concatenation, static fields, and char, byte and short
conversions.
Protection passes
Class and member renaming, string and constant encryption, control-flow flattening,
decompiler-resistant wrapping, anti-tamper checksums, loader hardening, resource
encryption, JDWP anti-debug detection, build-time watermarking, Kotlin metadata
stripping, keep rules, and a deterministic trial mode.
Native loading
One native library per platform packaged inside the JAR under an obfuscated name,
loaded by absolute path and bound with RegisterNatives.
Desktop app
A first-cut GUI wrapping the same protection entry point as the command line. Very
early, and not yet at feature parity with the command line.