This commit is contained in:
Michael Mikovsky
2026-02-16 13:50:20 -07:00
parent c9b0e6f88f
commit 01959ce440
24 changed files with 695 additions and 201 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
use crate::crypt::{STATIC_BYTE_MAP, hash};
use crate::crypt::{hash, STATIC_BYTE_MAP};
// Randomly mapped Base62 characters
pub struct Base62 {
+12 -10
View File
@@ -24,18 +24,20 @@ use obfuscate as obs;
// String obfuscation
#[proc_macro]
pub fn obs(input: TokenStream) -> TokenStream {
pub fn xor(input: TokenStream) -> TokenStream {
obs::xor(input)
}
#[proc_macro_attribute]
pub fn obfuscated_symbol(_attr: TokenStream, item: TokenStream) -> TokenStream {
obs::aes_fn_name(_attr, item)
/// Represents strings as a symbol.
#[proc_macro]
pub fn sym(input: TokenStream) -> TokenStream {
obs::aes_str(input)
}
#[proc_macro]
pub fn symbol(input: TokenStream) -> TokenStream {
obs::aes_str(input)
/// Represents function names as a symbol.
#[proc_macro_attribute]
pub fn sym_fn(_attr: TokenStream, item: TokenStream) -> TokenStream {
obs::aes_fn_name(_attr, item)
}
#[proc_macro]
@@ -56,7 +58,7 @@ pub fn file_symbol(_input: TokenStream) -> TokenStream {
// Return as a string literal
let output = quote! {
obfuscate::symbol!(#concatted)
sym!(#concatted)
};
// let output = quote! {
// #concatted
@@ -65,7 +67,7 @@ pub fn file_symbol(_input: TokenStream) -> TokenStream {
}
#[proc_macro]
pub fn format_obs(input: TokenStream) -> TokenStream {
pub fn format_sym(input: TokenStream) -> TokenStream {
let PrintlnArgs { format_str, args } = parse_macro_input!(input as PrintlnArgs);
let segments = parse_format_string(&format_str);
@@ -83,7 +85,7 @@ pub fn format_obs(input: TokenStream) -> TokenStream {
match segment {
FormatSegment::Static(text) => {
parts.push(quote! {
obfuscate::symbol!(#text).to_string()
#text.to_string()
});
}
FormatSegment::Dynamic(spec, idx) => {
+1 -1
View File
@@ -1,6 +1,6 @@
use proc_macro::TokenStream;
use quote::quote;
use syn::{ItemFn, LitStr, parse_macro_input};
use syn::{parse_macro_input, ItemFn, LitStr};
pub fn xor(input: TokenStream) -> TokenStream {
let input = parse_macro_input!(input as LitStr);
+1 -1
View File
@@ -2,7 +2,7 @@ use proc_macro::TokenStream;
use quote::quote;
use rand::rngs::SmallRng;
use rand::{Rng, SeedableRng};
use syn::{LitFloat, parse_macro_input};
use syn::{parse_macro_input, LitFloat};
// const MIN_TAGS: u32 = 1; // Maximum instructions per recursive block
// const MAX_TAGS: u32 = 22; // Maximum instructions per recursive block
+1 -1
View File
@@ -1,7 +1,7 @@
use getrandom::fill;
use proc_macro::TokenStream;
use quote::quote;
use syn::{LitStr, parse_macro_input};
use syn::{parse_macro_input, LitStr};
/// XOR encrypt strings
pub fn xor(input: TokenStream) -> TokenStream {
@@ -1,7 +1,7 @@
use crate::crypt::{BACKUP_ENV_KEY, ENV_KEY_NAME, STATIC_IV, aes_encrypt::encrypt_aes_lines};
use crate::crypt::{aes_encrypt::encrypt_aes_lines, BACKUP_ENV_KEY, ENV_KEY_NAME, STATIC_IV};
use proc_macro::TokenStream;
use quote::quote;
use syn::{ItemFn, LitStr, parse_macro_input};
use syn::{parse_macro_input, ItemFn, LitStr};
use crate::obfuscate::get_encryption_key;