index.md (2284B)
1 --- 2 label: Mojic 3 icon: lock 4 order: 750 5 --- 6 7 # Mojic 8 9 **Operation Ironclad: obfuscate C source code into a randomized, password-seeded stream of emojis.** 10 11 Mojic (Magic + Emoji + Logic) is a CLI tool that transforms readable C code into an unrecognizable, chaotic stream of emojis. Unlike a simple substitution cipher, Mojic uses your password to seed a cryptographically strong PRNG, creating a unique "Emoji Universe" and rolling cipher for every session. 12 13 !!!danger Project discontinued (v2.1.5) 14 Mojic is discontinued. v2.1.5 is the final patch to the GitHub repository. 15 16 The maintainer lost access to the npm account (forgotten password, and the recovery passcode file was lost during a Linux migration), so `npm install mojic` currently fails with a 404 — the published `@notamitgamer/mojic` dependency can no longer be patched. 17 18 **To keep using it, install from source instead:** 19 ```bash 20 git clone https://github.com/notamitgamer/mojic.git 21 cd mojic 22 npm install 23 npm link 24 ``` 25 This makes the `mojic` command available globally, same as an npm install would. 26 !!! 27 28 ## Key features 29 30 - **AES-256-CTR PRNG** — a cryptographically secure PRNG (seeded via Scrypt) drives shuffling and polymorphism 31 - **Polymorphic keywords** — common C keywords (`int`, `void`, `return`) map to emojis that change every time they appear, based on PRNG state — frequency analysis doesn't work 32 - **XOR whitening** — raw data (whitespace, variable names) is XORed with the AES keystream before encoding, so repeating patterns like 4-space indentation never produce the same emoji sequence twice 33 - **Base-1024 compression** — non-keyword code is compressed with a custom scheme (5 bytes → 4 emojis) to keep file size manageable 34 - **Integrity sealed** — every file ends with an HMAC-SHA256 signature; tampering triggers an immediate `FILE_TAMPERED` error 35 - **Moon Header Protocol** — metadata (salt + auth check) is encoded with a Moon/Clock phase alphabet (`🌑🌒🕐`), so an incorrect password is detected instantly, before decryption even starts 36 - **Stream architecture** — built on Node.js `Transform` streams for large files with minimal memory footprint 37 38 ## Get started 39 40 - [Installation](installation.md) 41 - [CLI Usage](usage.md) 42 - [How It Works (Operation Ironclad)](algorithm.md)