# obfuscator_derive
[](https://crates.io/crates/rust_code_obfuscator)
[](./CONTRIBUTING.md)
[](https://github.com/GianIac/rustfuscator/blob/main/WHITEPAPER.md)
[](https://gianiac.github.io/rustfuscator/obfuscation_fundamentals.html)
> Procedural macro definitions for the [Rustfuscator](https://github.com/gianiac/rustfuscator) — a Rust obfuscation framework for control flow, syntax, and literal protection.
---
## 🧠 What is `obfuscator_derive`?
This crate provides the **procedural macros** used by [Rustfuscator](https://github.com/gianiac/rustfuscator).
It defines attribute macros like `#[obfuscate]` that mark functions or modules for transformation during compilation.
> ⚠️ This crate is not meant to be used directly. Use [`rust_code_obfuscator`](https://github.com/gianiac/rustfuscator)) unless you're developing internals or writing custom tooling.
### Usage notes
- `#[derive(Obfuscate)]` supports fields of type `String`, `bool`, and Rust integer primitives.
- Invalid field types produce a compile-time error pointing to the offending field.
- The derive internally uses `rust_code_obfuscator::crypto::default_key()`; no user key plumbing required.