INNER CODE UNIT · Rust
len
Idov31/FunctionStomping · functionstomping/src/functionstomping.rs:166
let len = (0..).take_while(|&i| *ptr_current_module_name.offset(i) != 0).count();
let slice = std::slice::from_raw_parts(ptr_current_module_name, len);
match String::from_utf16(slice) {
Ok(val) => current_module_name = val,
Err(e) => return Err(e.into())
}
if current_module_name.contains(module_name) {
let function_address = GetProcAddress(module, function_name.as_ptr());
return Ok(function_address);
}
}
}
return Err(Error::InvalidModuleName.into())
}