#string #macro #obfuscation #run-time

encryption-macros

This crate provides macros to xor strings decaritive or automaticly at compiletime and atomaticly decode the at run time

1 unstable release

0.1.1 Apr 8, 2022
0.1.0 Apr 8, 2022

#1294 in Cryptography

21 downloads per month

MIT/Apache

7KB

encryption-marcos

This crate provides macros to XOR strings declarative or automatically at compile time and automatically decode them at run time.

The XOR key is automatically generated via a macro expansion in the utils sub-crate. To generate a new key just run cargo clean and recompiled the target to re-expand this macro.

Example

use encryption_macros::encrypt_strings;

encrypt_strings!{
    fn main() {
        println!("everything in this scope gets encrypted, {}", "even this")
    }
}

Warning

format_args! cannot capture variables when the format string is expanded from a macro.

So something like this: println!("{variable_a}") sadly doesn't work when inside an encrypted scope.


lib.rs:

encryption-marcos

This crate provides macros to XOR strings declarative or automatically at compile time and automatically decode them at run time.

The XOR key is automatically generated via a macro expansion in the utils sub-crate. To generate a new key just run cargo clean and recompiled the target to re-expand this macro.

Example

use encryption_macros::encrypt_strings;

encrypt_strings!{
    fn main() {
        println!("everything in this scope gets encrypted, {}", "even this")
    }
}

Warning

format_args! cannot capture variables when the format string is expanded from a macro.

So something like this: println!("{variable_a}") sadly doesn't work when inside an encrypted scope.

Dependencies

~590KB
~10K SLoC