mirror of
https://github.com/Astatin3/unshell.git
synced 2026-06-08 22:38:01 -06:00
Docs
This commit is contained in:
@@ -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
@@ -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,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);
|
||||
|
||||
@@ -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,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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user