myph-v2~ rust shellcode loader with evasive capabilities |
| git clone https://github.com/djnnvx/myph-v2.git |
| log | files | refs | archive | README |
build.rs (1351B)
1 use std::env; 2 use std::fs; 3 use std::path::Path; 4 5 // Include only the modules needed for build script 6 mod internals_utils { 7 include!("src/internals/templates/internals_utils.rs"); 8 } 9 10 mod validation { 11 include!("src/internals/templates/validation.rs"); 12 } 13 14 // Re-export the functions we need 15 use internals_utils::*; 16 use validation::*; 17 18 /// Generate the complete internals module source code for embedding in generated binaries 19 fn generate_internals_source() -> String { 20 format!( 21 "{}\n\n{}\n\n{}\n\n{}\n\n{}\n\n{}\n\n{}\n\n{}", 22 internals_hex_to_bytes(), 23 internals_bytes_to_hex(), 24 internals_xor_bytes(), 25 internals_pad_pkcs7(), 26 internals_unpad_pkcs7(), 27 internals_is_valid_utf8(), 28 internals_compute_checksum(), 29 internals_validate_checksum() 30 ) 31 } 32 33 fn main() { 34 let out_dir = env::var("OUT_DIR").unwrap(); 35 let dest_path = Path::new(&out_dir).join("internals_impl.rs"); 36 37 let implementation = generate_internals_source(); 38 39 fs::write(&dest_path, implementation).unwrap(); 40 println!("cargo:rerun-if-changed=build.rs"); 41 println!("cargo:rerun-if-changed=src/internals/templates/internals_utils.rs"); 42 println!("cargo:rerun-if-changed=src/internals/templates/encryption.rs"); 43 println!("cargo:rerun-if-changed=src/internals/templates/validation.rs"); 44 }