# adamyaxley/Obfuscate

Guaranteed compile-time string literal obfuscation header-only library for C++14

Repository: https://github.com/adamyaxley/Obfuscate
Canonical: https://ross.abutalabs.com/products/obfuscate
Language: C++
License: Unlicense
License Family: permissive
Topics: string-obfuscation, obfuscation, cpp14, header-only, obfuscate-strings, obfuscate, string-literals, cpp17, embedded-string-literals, string
Last push: 2026-06-03T11:52:20+00:00

## Health v2 (maintenance only)
Score: 63/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 85, release rhythm 13, longevity 100
- inputs: {"age_days": 3213, "days_push": 91, "days_rel": 364, "gap_med": null, "n_releases_24m": 1}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1338, forks 185 (observed 2026-08-28T04:04:25.768314+00:00)

## What it is
A header-only C++14 library that obfuscates string literals at compile time using constexpr XOR encryption with a random 64-bit key, preventing plain-text strings from appearing in compiled binaries. Strings are wrapped with the AY_OBFUSCATE macro and decrypted at runtime.

## Use cases
- hide string literals in compiled binaries
- prevent strings utility from revealing embedded text
- obfuscate strings in a C++ project
- protect against casual binary string analysis
- embed encrypted strings in C++14 code

## When to choose
- you need guaranteed compile-time string encryption in C++
- you want a single header with zero dependencies
- you need strings implicitly convertible to char* for easy integration

## When to avoid
- you need strong security against determined attackers - the author explicitly warns this is not for protecting secrets
- your project doesn't support C++14 or newer
- you need runtime-configurable encryption rather than compile-time obfuscation

## Facets
- artifact type: library
- maturity: stable
- function: security, cryptography, developer-tools
- domain: security, developer-tools, cross-platform
- platform: cpp, cross-platform, windows
- tags: string-obfuscation, header-only, compile-time, xor-cipher, cpp14, anti-reverse-engineering, string-literals, linux, macos

## Member repositories
- adamyaxley/Obfuscate (main) score 63

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:25.768314+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:43:59.005782+00:00, confidence not recorded.
  - readme: https://github.com/adamyaxley/Obfuscate (fetched 2026-08-28T04:04:25.768314+00:00, sha b5a7b4abae42)
- Data as of 2026-08-30T08:39:29.467469+00:00.
