#reverse-engineering #obfuscation #macro #proc-macro #security #rust

macro chamox

A Rust procedural macro to inject obfuscated, meaningless code to increase reverse engineering complexity

4 releases

0.1.4 Feb 6, 2025
0.1.3 Feb 5, 2025
0.1.2 Feb 5, 2025
0.1.1 Feb 5, 2025
0.1.0 Feb 5, 2025

#1558 in Development tools

Download history 493/week @ 2025-02-05

493 downloads per month

MIT/Apache

11KB
90 lines

chamox – Obfuscation Macro for Rust

Build Status Crates.io Documentation License

chamox is a Rust procedural macro designed to generate obfuscated and meaningless code blocks to make reverse engineering more complex. This can be useful in scenarios where code security matters, such as protecting intellectual property or adding layers of obfuscation to compiled binaries.

Features

  • 🌀 Inserts random, meaningless calculations and control flows
  • 🔀 Generates misleading code structures to confuse decompilers
  • 🎭 Makes static analysis more difficult without modifying actual logic

Example Usage

use chamox::obfuscate;

#[obfuscate]
fn hidden_logic() -> i32 {
    // This function's implementation will be obfuscated
    42
}

Installation

Add the following to your Cargo.toml:

[dependencies]
chamox = "0.1"

How It Works

The #[obfuscate] macro injects meaningless operations within your function, making it harder for static analysis tools and decompilers to reconstruct the original logic.

Security Notice

While this macro makes reverse engineering more complex, it does not provide real security. Do not rely on it for cryptographic protection.

Contributing

We welcome contributions! Please open an issue or submit a pull request.

Contributors

License

This project is licensed under MIT or Apache-2.0.

Dependencies

~2MB
~31K SLoC