Skip to content

Releases: x86byte/sbox

v1.2.0 - sbox: Static Shredding & Example Suite

Choose a tag to compare

@x86byte x86byte released this 25 May 10:47
a1e846f

This release introduces compile-time obfuscation via constexpr AES blocks. Plaintext is eliminated from the binary, making static analysis impossible.

What's New:

  • Static Literal Shredding: Use ObfStr or _OBF macros to ensure your strings never exist in .rodata.
  • Examples Suite: Added a dedicated EXAMPLES/ folder to demonstrate usage:
    • sbox_test.cpp: Multi-string/Vector obfuscation demonstration.
    • sbox_test1.cpp: Atomic single-string materialization.
  • Improved Build System: Makefile now includes test2 target for rapid verification of single-string protection.

Technical Stats:

  • Speed: 7ms total runtime.
  • Memory: 0 leaks, 0 errors (Valgrind verified).
  • Stealth: Indistinguishable from random noise on disk.

v1.0.0 - sbox: materialization

Choose a tag to compare

@x86byte x86byte released this 25 May 08:59
a47ccac

sbox is a minimalist, header-only string obfuscation library ported from the Obfusk8 AES logic. It replaces traditional delimiter-based serialization with a constexpr AES-128 block cipher.

Technical Highlights:

  • Performance: 7ms submission on NeetCode (first try).
  • Security: Static strings are encrypted at compile-time. No plaintext artifacts in .rdata.
  • Stability: Valgrind verified. 0 leaks, 0 errors.
  • Binary Safe: Handles raw payloads and null bytes where standard splitters fail.

Valgrind Audit:

==881236== HEAP SUMMARY:
==881236==     in use at exit: 0 bytes in 0 blocks
==881236==   total heap usage: 11 allocs, 11 frees, 74,027 bytes allocated
==881236== All heap blocks were freed -- no leaks are possible

How to use:

  1. Include sbox.hpp.
  2. Encrypt your strings into high-entropy noise.
  3. Decrypt only when materialization is required.

Plaintext shredded. Logic hidden. Strings vanished.