[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-83885":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":16,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":16,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":10,"pushedAt":10,"updatedAt":38,"readmeContent":39,"aiSummary":10,"trendingCount":15,"starSnapshotCount":15,"syncStatus":14,"lastSyncTime":40,"discoverSource":41},83885,"sbox","x86byte\u002Fsbox","x86byte","Compile-time AES string obfuscation for C++","",null,"C++",97,10,2,0,1,3.12,"MIT License",false,"main",true,[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"advanced-encryption-standard","aes","aes-128","aes-decryption","aes-encryption","compile-time-obfuscation","encryption-decryption","obfuscate-strings","obfuscation","reverse-engineering","runtime-encryption","string-encoding","string-encrypt","string-encryption","string-encryption-high-resiliency","2026-06-12 02:04:36","# sbox - Compile-time AES string obfuscation for C++\n\nStandard solutions rely on `length + \"#\" + string`. That is trivial to reverse. \n**sbox** utilizes a `constexpr` AES-128 block cipher to mutate strings into high-entropy noise.\n\n### The Story\nDuring the Neetcode \"Encode and Decode Strings\" challenge, I ported the AES engine from my obfuscation project, **[Obfusk8](https:\u002F\u002Fgithub.com\u002Fx86byte\u002FObfusk8)**. \n\nThe implementation passed in **7ms** on the first submission. Cryptographic security shouldn't be a trade-off for performance.\n\n### Features\n- **No Delimiters:** Fixed-width headers and block mutation replace predictable separators.\n- **Binary Safe:** Effortlessly handles raw payloads and null bytes.\n- **Static Stealth:** Plaintext is eliminated at compile-time. Using the provided macros, `strings.exe` (or `strings` in linux) returns zero results.\n\n### How to Use\nCheck the [EXAMPLES](https:\u002F\u002Fgithub.com\u002Fx86byte\u002Fsbox\u002Ftree\u002Fmain\u002FEXAMPLES) folder for implementation details:\n\n1. **Multi-String Example (`sbox_test.cpp`):**\n   Demonstrates how to handle a `vector\u003Cstring>` using the `_OBF(str)` macro for batch processing. Useful for transit-ready obfuscation.\n   \n2. **Single String Example (`sbox_test1.cpp`):**\n   Demonstrates atomic materialization using the `ObfStr(str)` macro. Best for single variable assignments:\n   ```cpp\n   string s = ObfStr(\"ama obfuscation addicted\");\n   ```\n\n### Performance\n**7ms runtime.** \nProving that overkill can still be optimal.\n\n---\n**Author:** [x86byte](https:\u002F\u002Fgithub.com\u002Fx86byte)\n","2026-06-11 04:11:46","CREATED_QUERY"]