status_t
linux_symbol_to_address(
vmi_instance_t vmi,
const char *symbol,
addr_t* UNUSED(__unused),
addr_t* address)
{
status_t ret = VMI_FAILURE;
linux_instance_t linux_instance = vmi->os_data;
if (linux_instance == NULL) {
errprint("VMI_ERROR: OS instance not initialized\n");
goto done;
}
if (!linux_instance->sysmap && !json_profile(vmi)) {
errprint("VMI_WARNING: No linux sysmap and Rekall profile configured\n");
goto done;
}
if (linux_instance->sysmap)
ret = linux_system_map_symbol_to_address(vmi, symbol, address);
else
ret = json_profile_lookup(vmi, symbol, NULL, address);
if ( VMI_SUCCESS == ret )
*address += linux_instance->kaslr_offset;
done:
return ret;
}
🌱 Back to Garden