Jump to content

31 posts in this topic

Recommended Posts

Updated (edited)

VORTEX — Compile-Time Obfuscation

Ever run strings on a binary and instantly spot API keys, error messages, or internal logic? VORTEX makes that impossible.

It's a pure C11 header library that encrypts string and numeric constants at compile time — before your binary is ever written to disk. No runtime keys stored in memory. No external dependencies. Stack-only allocation.

The cipher is two-tiered: a global seed derived from your build date shapes an S-box, while a per-call-site key (based on __FILE__, __LINE__, and __TIME__) produces unique encryption per string. The result: identical source strings produce completely different binary blobs at different call sites.

Usage is a single macro:

OBF_WITH(secret, "Bearer sk-...") {
     send_request(secret); // zeroed on scope exit
}

float pi    = OBF_FLOAT(3.14159265f);
double gravity = OBF_DOUBLE(9.80665);
size_t off    = OBF_OFFSET(0xfa);
int port     = OBF_INT(8443);
OBF_STRING(secret, "xK9#mP2$qR7!wL4@"); // printf(secret)

strings, IDA Pro, and Ghidra see only noise. Your source stays readable.

No heap. No deps. Drop in obfuscate.h and go. 

https://github.com/Batchhh/Vortex-obfuscation

→ https://github.com/Batchhh/Vortex-obfuscation/releases/tag/v1.0.0 - Contains obfuscate.h and libvortex.a

 

Updated by Batch
  • Like 42
  • Winner 3
  • Thanks 3
  • Agree 4
  • Informative 1
×
  • Create New...

Important Information

We would like to place cookies on your device to help make this website better. The website cannot give you the best user experience without cookies. You can accept or decline our cookies. You may also adjust your cookie settings. Privacy Policy - Guidelines