mirror of
https://github.com/volatilityfoundation/volatility3.git
synced 2026-09-06 01:37:39 +02:00
cut unnecessary plugin runner functions
This commit is contained in:
@@ -53,54 +53,6 @@ class Modxview(interfaces.plugins.PluginInterface):
|
||||
),
|
||||
]
|
||||
|
||||
@classmethod
|
||||
def run_lsmod(
|
||||
cls, context: interfaces.context.ContextInterface, kernel_name: str
|
||||
) -> List[extensions.module]:
|
||||
"""Wrapper for the lsmod plugin."""
|
||||
return list(lsmod.Lsmod.list_modules(context, kernel_name))
|
||||
|
||||
@classmethod
|
||||
def run_check_modules(
|
||||
cls,
|
||||
context: interfaces.context.ContextInterface,
|
||||
kernel_name: str,
|
||||
) -> List[extensions.module]:
|
||||
"""Wrapper for the check_modules plugin.
|
||||
Here, we extract the /sys/module/ list."""
|
||||
kernel = context.modules[kernel_name]
|
||||
sysfs_modules: dict = check_modules.Check_modules.get_kset_modules(
|
||||
context, kernel_name
|
||||
)
|
||||
|
||||
# Convert get_kset_modules() offsets back to module objects
|
||||
return [
|
||||
kernel.object(object_type="module", offset=m_offset, absolute=True)
|
||||
for m_offset in sysfs_modules.values()
|
||||
]
|
||||
|
||||
@classmethod
|
||||
def run_hidden_modules(
|
||||
cls,
|
||||
context: interfaces.context.ContextInterface,
|
||||
kernel_name: str,
|
||||
known_modules_addresses: Set[int],
|
||||
) -> List[extensions.module]:
|
||||
"""Wrapper for the hidden_modules plugin."""
|
||||
modules_memory_boundaries = (
|
||||
hidden_modules.Hidden_modules.get_modules_memory_boundaries(
|
||||
context, kernel_name
|
||||
)
|
||||
)
|
||||
return list(
|
||||
hidden_modules.Hidden_modules.get_hidden_modules(
|
||||
context,
|
||||
kernel_name,
|
||||
known_modules_addresses,
|
||||
modules_memory_boundaries,
|
||||
)
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def flatten_run_modules_results(
|
||||
cls, run_results: Dict[str, List[extensions.module]], deduplicate: bool = True
|
||||
@@ -140,15 +92,35 @@ class Modxview(interfaces.plugins.PluginInterface):
|
||||
|
||||
kernel = context.modules[kernel_name]
|
||||
run_results = {}
|
||||
run_results["lsmod"] = cls.run_lsmod(context, kernel_name)
|
||||
run_results["check_modules"] = cls.run_check_modules(context, kernel_name)
|
||||
# lsmod
|
||||
run_results["lsmod"] = list(lsmod.Lsmod.list_modules(context, kernel_name))
|
||||
# check_modules
|
||||
sysfs_modules: dict = check_modules.Check_modules.get_kset_modules(
|
||||
context, kernel_name
|
||||
)
|
||||
## Convert get_kset_modules() offsets back to module objects
|
||||
run_results["check_modules"] = [
|
||||
kernel.object(object_type="module", offset=m_offset, absolute=True)
|
||||
for m_offset in sysfs_modules.values()
|
||||
]
|
||||
# hidden_modules
|
||||
if run_hidden_modules:
|
||||
known_module_addresses = set(
|
||||
known_modules_addresses = set(
|
||||
context.layers[kernel.layer_name].canonicalize(module.vol.offset)
|
||||
for module in run_results["lsmod"] + run_results["check_modules"]
|
||||
)
|
||||
run_results["hidden_modules"] = cls.run_hidden_modules(
|
||||
context, kernel_name, known_module_addresses
|
||||
modules_memory_boundaries = (
|
||||
hidden_modules.Hidden_modules.get_modules_memory_boundaries(
|
||||
context, kernel_name
|
||||
)
|
||||
)
|
||||
run_results["hidden_modules"] = list(
|
||||
hidden_modules.Hidden_modules.get_hidden_modules(
|
||||
context,
|
||||
kernel_name,
|
||||
known_modules_addresses,
|
||||
modules_memory_boundaries,
|
||||
)
|
||||
)
|
||||
|
||||
return run_results
|
||||
|
||||
Reference in New Issue
Block a user