switch mac_lsmod to absolute_symbol_addresses interface

This commit is contained in:
Andrew Case
2018-12-27 22:43:19 +00:00
committed by ikelos
parent 1845fe9ec5
commit b77d638ead
+8 -5
View File
@@ -21,7 +21,7 @@
typically found in Mac's lsmod command.
"""
from volatility.framework import renderers, interfaces
from volatility.framework import renderers, interfaces, contexts
from volatility.framework.automagic import mac
from volatility.framework.configuration import requirements
from volatility.framework.interfaces import plugins
@@ -43,12 +43,15 @@ class Lsmod(plugins.PluginInterface):
@classmethod
def list_modules(cls, context: interfaces.context.ContextInterface, layer_name: str, darwin_symbols: str):
"""Lists all the modules in the primary layer"""
mac.MacUtilities.aslr_mask_symbol_table(context, darwin_symbols, layer_name)
aslr_shift = mac.MacUtilities.find_aslr(context, darwin_symbols, layer_name)
kernel = contexts.Module(context,
darwin_symbols,
layer_name,
0,
absolute_symbol_addresses = True)
darwin = context.module(darwin_symbols, layer_name, aslr_shift)
kmod_ptr = darwin.object(symbol_name = "kmod")
kmod_ptr = kernel.object(symbol_name = "kmod")
# TODO - use smear-proof list walking API after dev release
kmod = kmod_ptr.dereference().cast("kmod_info")