LLObf encrypts your IL2CPP metadata with ChaCha20-Poly1305, derives a unique key per build, and obfuscates IL and native C++ output automatically. No code changes, no attributes, just build.LLObf is an IL2CPP protection suite for Unity, covering metadata encryption, IL obfuscation, memory integrity, and native anti-cheat in a single build-time pipeline. No code changes, no manual steps.Most protection tools produce the same output for every project that uses them. LLObf generates a structurally unique binary per build - different key, different ciphertext layout, different import alias, different stub variable names. A signature or dump tool built against one build has no leverage over the next.What's included:global-metadata.dat encryption with ChaCha20-Poly1305, per-build derived key, decrypted in-process at load, never written back to diskIL string encryption with a polymorphic ARX cipher, unique decryptor stub injected per assemblyIL obfuscation: symbol renaming, control-flow scrambling, dead code injectionNative C++ pass on IL2CPP-generated code before the compiler sees itGuardedValue for RAM-level field encryption with per-read integrity check, works against Cheat Engine and GameGuardian without the native layerNative anti-cheat engine (Windows): debugger detection in user and kernel mode, inline hook scanner, blacklisted process monitor, speedhack detection via RDTSC/QPCUnity 2021.3 LTS and later, tested on 2021.3, 2022.3, 6000.xIL2CPP backend required, Mono is NOT supportedCipher: ChaCha20-Poly1305 (RFC 7539), no external crypto libraryKDF: SplitMix64 seed expansion, 512-round salt mixing, ChaCha20 block finalization, 32-byte key + 12-byte noncePlatform salt: SHA-256 of product name, company name, and project GUID (first 16 bytes)Build magic: cross-build replay fails at authentication before decryptionImport alias: 9 candidates selected per build seed, IAT entry differs across releasesCiphertext offset: KDF-derived hoff in range [16, 63]GuardedValue overhead: ~25 ns per read, no heap allocation, thread-safeBuild-time analyzer rejects GuardedValue on [SyncVar], [Networked], [Replicate] and similar attributesMono.Cecil bundled, no other dependenciesPackage size: 303 KBNote: Do not change Product Name, Company Name, or Project GUID after shipping a build. These are baked into the encryption salt. Changing them breaks decryption on previously shipped builds.

