From 09bdc91701f3072d29618f2c8ef56da071303a8a Mon Sep 17 00:00:00 2001 From: unspeaker Date: Fri, 21 Feb 2025 00:06:40 +0200 Subject: [PATCH] total code sections amount to 800-900k - promising! --- crates/vestal/src/load.rs | 2 +- crates/vestal/src/main.rs | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/crates/vestal/src/load.rs b/crates/vestal/src/load.rs index 2f24c07..95f2a64 100644 --- a/crates/vestal/src/load.rs +++ b/crates/vestal/src/load.rs @@ -18,7 +18,7 @@ impl Vestal { self.paths_visited.insert(path.clone()); let data = self.load_bang_data(&path)?; let dll = self.load_pe(&path, &data)?; - let rdll = self.load_rpe(&path, &dll, 0)?; + //let rdll = self.load_rpe(&path, &dll, 0)?; let imports = self.load_imports(&path, &dll); let exports = self.load_exports(&path, &dll); } diff --git a/crates/vestal/src/main.rs b/crates/vestal/src/main.rs index 4ceceb6..e138c32 100644 --- a/crates/vestal/src/main.rs +++ b/crates/vestal/src/main.rs @@ -40,12 +40,12 @@ struct Vestal { } impl Vestal { fn enter (&mut self, path: &PathBuf) -> Usually<()> { + let mut total = 0usize; self.load(&path)?; let data = self.path_to_data.get(path); let len = data.as_ref().unwrap().len(); let data = data.as_ref().unwrap(); //println!(); - //println!("{:?}", data[0..256].hex_dump()); //println!(); for (dll_path, dll) in self.path_to_pe.iter() { let ep_rva = dll.get_entrypoint()?; @@ -56,6 +56,9 @@ impl Vestal { ep_rva, ep_off); if true || dll_path.as_ref() == path { + let dll_data = self.path_to_data.get(dll_path).unwrap(); + total += dll_data.len(); + println!("{:?}", dll_data.hex_dump()); let buf = dll.get_buffer(); let section = dll.get_section_by_name(".text")?; let section_ptr = section.pointer_to_raw_data.0 as usize; @@ -146,6 +149,7 @@ impl Vestal { println!("{BOLD}0x{addr:>08x}{RESET} {dll:>20} {export:<40}"); } //println!("{:#?}", &self.addr_to_import); + println!("Total code bytes: {total} (0x{total:x})"); Ok(()) } }