Protect Your Java JARs
Without Breaking Them.
Advanced obfuscation built for Minecraft plugins and premium software. Zero performance impact, absolute security. Runs 100% on your machine.
See What Gets Protected
Built for Engineering Velocity
Integrate ShieldX directly into your workflow. Protect JARs from your terminal or web dashboard — no server dependency, no upload.
- Fully offline — engine runs locally on your machine
- Interactive panel — menu-driven terminal UI, no browser needed
- Web dashboard at localhost — full UI in your browser
- Mapping file per job — deobfuscate stack traces in production
- Zero telemetry — no analytics, no pings, no cloud dependency
Built for the Ecosystems You Use
Smart Safe Mode reads each platform's manifest and auto-excludes critical classes. No manual config needed.
Everything You Need to Protect
Your Intellectual Property
Production-grade obfuscation that runs entirely on your infrastructure — no trust required.
AES-256 String Encryption
Every string literal in your bytecode is encrypted with AES-256 and per-class keys. Strings are decrypted lazily at the call site — zero overhead, maximum protection.
Control Flow Obfuscation
Rewrites your bytecode into an irreducible control flow graph that defeats Procyon, CFR, Fernflower, and every major Java decompiler.
Smart Safe Mode
Reads plugin.yml, fabric.mod.json, velocity-plugin.json, and other manifests to auto-exclude entrypoints, listeners, commands, and API surfaces from renaming.
16-Pass Transformation Pipeline
Sixteen stacked bytecode transformations applied in a single obfuscation run — class renaming, method renaming, opaque predicates, integer encryption, and more.
Zero Performance Impact
Obfuscation happens at build time. Your protected JAR runs at the same speed as the original — the JVM sees optimized bytecode, not interpreted overhead.
9 Production Profiles
Profiles tuned for Paper, Spigot, Fabric, Forge, Velocity, BungeeCord, Spring Boot, shared libraries, and maximum-aggression standalone apps.
From Install to Protected JAR in Seconds
Install
One curl command. Installer detects your OS, sets up Node.js, and puts shieldx in your PATH.
Protect
Choose a profile. The engine runs 16 transformations while Smart Safe Mode preserves every manifest-referenced API surface.
Ship
Download the protected artifact. All files stay in ~/.config/shieldx/ — zero cloud retention.
Every Protection Method, In One Pipeline
Sixteen production-grade bytecode transformations grouped into four domains.
Class Renaming
Rewrites class identifiers to opaque tokens. Auto-excludes plugin entrypoints, mixins, and reflection targets.
Method Renaming
Mangles method names while preserving public API surfaces, event handlers, and Bukkit listeners.
Field Renaming
Renames internal fields to unprintable identifiers. JPA columns and Spring beans stay intact.
Package Remapping
Flattens or rewrites package paths to break IDE navigation and frustrate decompiler heuristics.
AES String Encryption
AES-256 encrypts every string literal with per-class keys. Decrypted lazily at the call site.
Memory-Safe Strings
Strings live as char arrays cleared after use, defeating heap dumps and memory scrapers.
Enhanced Encryption
Multi-layer XOR + AES with runtime-derived keys tied to JVM identity for sandbox resistance.
Integer Encryption
Replaces numeric constants with arithmetic expressions that resolve at runtime. No traceable magic numbers.
Flow Obfuscation
Rewrites control flow as an irreducible graph that defeats Procyon, CFR, and Fernflower.
Opaque Predicates
Injects always-true conditions referencing computed state to mislead static analyzers.
Arithmetic Transformer
Rewrites simple ops as equivalent algebraic identities to obscure intent and confuse decompilers.
Switch → If Conversion
Lowers tableswitch/lookupswitch into chained conditionals with synthetic dispatch keys.
If Trapping
Converts conditional branches into exception-driven jumps that confuse decompiler IR.
Dead Code Removal
Strips unreachable instructions, debug attributes, source filenames, and synthetic bridges.
Useless Try/Catch
Wraps real logic in synthetic exception handlers that propagate as no-ops at runtime.
Aggressive Profile
Composes every transformation simultaneously. Recommended only for fully self-contained applications.
Integrity Watermark
Embeds a cryptographic fingerprint in META-INF to prove the JAR passed through the ShieldX engine.
One Command to Get Started
Installer handles Node.js automatically. Works on macOS, Linux, and Windows. Fully offline after install.
Every Command You Need
Full CLI — from one-liner obfuscation to full web dashboard and interactive panel.
9 Profiles, Every Platform Covered
Smart Safe Mode reads your manifest and auto-excludes critical classes — so your plugin loads correctly every time.
Paper / Spigot Plugins
Reads plugin.yml. Excludes main class, commands, and listeners from renaming. Safe on all Paper 1.8–1.21+ servers.
Fabric Mods
Reads fabric.mod.json. Preserves mixin targets and entrypoints. Compatible with Fabric Loader 0.14+.
Forge / NeoForge Mods
Preserves @Mod annotations, event bus subscribers, and capability handlers. Works with Forge 36+ and NeoForge.
Velocity Proxy Plugins
Reads velocity-plugin.json. Preserves @Plugin classes and event subscribers for Velocity 3.x.
BungeeCord Plugins
Reads bungee.yml. Excludes main class, listener registrations, and command executors from renaming.
Shared Libraries
Preserves your public API surface — public classes, methods, and fields keep their names. Internal code is fully obfuscated.
Enterprise Java Apps
Balanced protection for production Java applications. Heavy string encryption and flow obfuscation with reflection-safety.
Auto-detect (Smart)
Reads all known manifests and auto-picks the safest settings. Best starting point when you're unsure which profile to use.
Maximum Obfuscation
All transforms enabled simultaneously. Highest possible protection score. May break reflection-heavy code — test before shipping.
Your Files Never Leave Your Machine.
No telemetry, no upload, no cloud dependency of any kind. Every byte of your code stays on your own hardware.
- All processing happens locally — never sent to our servers
- No telemetry, no usage analytics, no crash reporting
-
Output stored in
~/.config/shieldx/— fully under your control - Air-gap compatible — works without any internet connection
Frequently Asked Questions
Everything you need to know about ShieldX before getting started.
Start Protecting Your Code Today
One command. No account. No upload. Your JARs stay on your machine — always.