From 0bb4e59be82edfa79eb33af2b70bd40412bbdee9 Mon Sep 17 00:00:00 2001 From: Albert24GG Date: Thu, 29 Feb 2024 22:25:17 +0200 Subject: [PATCH] Port "dump interfaces" to linux --- src/dumper/interfaces.rs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/dumper/interfaces.rs b/src/dumper/interfaces.rs index 1abca17..efd0801 100644 --- a/src/dumper/interfaces.rs +++ b/src/dumper/interfaces.rs @@ -109,8 +109,21 @@ pub fn dump_interfaces( if let Some(create_interface_export) = module.get_export_by_name("CreateInterface") { info!("Dumping interfaces in {}...", module.name); - let create_interface_address = - process.resolve_rip(create_interface_export, None, None)?; + let create_interface_address; + + #[cfg(target_os = "windows")] + { + create_interface_address = + process.resolve_rip(create_interface_export, None, None)?; + } + + #[cfg(target_os = "linux")] + { + let create_interface_fn = + process.resolve_jmp(create_interface_export, None, None)?; + create_interface_address = + process.resolve_rip(create_interface_fn.add(0x10), None, None)?; + } let mut node = process.read_memory::<*mut InterfaceNode>(create_interface_address)?;