mirror of
https://github.com/volatilityfoundation/volatility3.git
synced 2026-09-22 01:24:51 +02:00
Refactor config to configuration so we can have variables called config.
This commit is contained in:
@@ -9,7 +9,7 @@ import logging
|
||||
|
||||
import volatility.framework
|
||||
import volatility.plugins
|
||||
from volatility.framework import plugins, config, contexts
|
||||
from volatility.framework import plugins, configuration, contexts
|
||||
|
||||
logging.basicConfig(filename = 'example.log', level = logging.DEBUG)
|
||||
logger = logging.getLogger("volatility")
|
||||
@@ -58,9 +58,9 @@ class CommandLine(object):
|
||||
context = contexts.Context()
|
||||
|
||||
for req in reqs:
|
||||
if isinstance(req, config.TranslationLayerRequirement):
|
||||
if isinstance(req, configuration.TranslationLayerRequirement):
|
||||
# Choose an appropriate LayerFactory (add layer to the req.name so we don't blat the requirement itself
|
||||
namespace = config.namespace_join([plugin.__name__, req.name + "_layer"])
|
||||
namespace = configuration.namespace_join([plugin.__name__, req.name + "_layer"])
|
||||
factory = self.construct_layer_factory(namespace)
|
||||
facreqs = factory.requirements()
|
||||
for facreq in facreqs:
|
||||
|
||||
@@ -18,7 +18,7 @@ def StoreItemFactory(config_item):
|
||||
|
||||
def adapt_config(config, parser, group = None):
|
||||
"""Constructs an argument parser based on a volatility configuration"""
|
||||
if not group and not isinstance(config, interfaces.config.ConfigurationGroup):
|
||||
if not group and not isinstance(config, interfaces.configuration.ConfigurationGroup):
|
||||
raise TypeError("adapt_config expects a ConfigurationItem, not a " + type(config).__name__)
|
||||
|
||||
for item in flatten_configuration(config):
|
||||
@@ -30,7 +30,7 @@ def adapt_config(config, parser, group = None):
|
||||
def flatten_configuration(config):
|
||||
output = {}
|
||||
for item in config:
|
||||
if isinstance(config[item], interfaces.config.ConfigurationGroup):
|
||||
if isinstance(config[item], interfaces.configuration.ConfigurationGroup):
|
||||
for k, v in flatten_configuration(config[item]).items():
|
||||
output[item + "." + k] = v
|
||||
else:
|
||||
|
||||
@@ -36,7 +36,7 @@ def require_version(*args):
|
||||
".".join([str(x) for x in args[0:2]]))
|
||||
|
||||
|
||||
from volatility.framework import interfaces, symbols, layers, contexts, config
|
||||
from volatility.framework import interfaces, symbols, layers, contexts, configuration
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Created on 7 May 2013
|
||||
"""
|
||||
import re
|
||||
|
||||
from volatility.framework.interfaces.config import GenericRequirement, ConfigurationGroup
|
||||
from volatility.framework.interfaces.configuration import GenericRequirement, ConfigurationGroup
|
||||
|
||||
# Intentionally reimport namespace_join so it's accessible from the main config module
|
||||
from volatility.framework.interfaces.config import namespace_join
|
||||
from volatility.framework.interfaces.configuration import namespace_join
|
||||
|
||||
class InstanceRequirement(GenericRequirement):
|
||||
instance_type = bool
|
||||
@@ -1,4 +1,4 @@
|
||||
from volatility.framework import validity, interfaces, symbols, layers, config
|
||||
from volatility.framework import validity, interfaces, symbols, layers, configuration
|
||||
from volatility.framework.interfaces.context import ContextModifierInterface
|
||||
from volatility.framework.symbols import native
|
||||
import volatility
|
||||
@@ -7,7 +7,7 @@ import volatility
|
||||
__author__ = 'mike'
|
||||
|
||||
from volatility.framework.contexts import intel, physical, windows
|
||||
from volatility.framework import config
|
||||
from volatility.framework import configuration
|
||||
|
||||
|
||||
class LayerFactory(validity.ValidityRoutines, list):
|
||||
@@ -39,7 +39,7 @@ class LayerFactory(validity.ValidityRoutines, list):
|
||||
groups = []
|
||||
for index in range(len(self)):
|
||||
modifier = self[index]
|
||||
group = config.ConfigurationGroup(modifier.__name__ + str(index))
|
||||
group = configuration.ConfigurationGroup(modifier.__name__ + str(index))
|
||||
for req in modifier.requirements():
|
||||
group.add_item(req)
|
||||
groups.append(group)
|
||||
@@ -51,7 +51,7 @@ class LayerFactory(validity.ValidityRoutines, list):
|
||||
Returns a new context with all appropriate modifications (symbols, layers, etc)
|
||||
"""
|
||||
for index in range(len(self)):
|
||||
modifier = self[index](config.namespace_join([self.name, self[index].__name__ + str(index)]))
|
||||
modifier = self[index](configuration.namespace_join([self.name, self[index].__name__ + str(index)]))
|
||||
modifier(context = context)
|
||||
return context
|
||||
|
||||
@@ -76,7 +76,7 @@ class Context(interfaces.context.ContextInterface):
|
||||
interfaces.context.ContextInterface.__init__(self)
|
||||
self._symbol_space = symbols.SymbolSpace(natives)
|
||||
self._memory = layers.Memory()
|
||||
self._config = config.ConfigurationGroup(name = 'volatility')
|
||||
self._config = configuration.ConfigurationGroup(name = 'volatility')
|
||||
|
||||
# ## Symbol Space Functions
|
||||
|
||||
@@ -87,7 +87,7 @@ class Context(interfaces.context.ContextInterface):
|
||||
|
||||
@config.setter
|
||||
def config(self, value):
|
||||
if not isinstance(value, config.ConfigurationGroup):
|
||||
if not isinstance(value, configuration.ConfigurationGroup):
|
||||
raise TypeError("Configuration must of type ConfigurationGroup")
|
||||
self._config = value
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from volatility.framework import interfaces, layers, config
|
||||
from volatility.framework import interfaces, layers, configuration
|
||||
|
||||
__author__ = 'mike'
|
||||
|
||||
@@ -6,19 +6,19 @@ __author__ = 'mike'
|
||||
class IntelContextModifier(interfaces.context.ContextModifierInterface):
|
||||
@classmethod
|
||||
def requirements(cls):
|
||||
return [config.ChoiceRequirement(name = "architecture",
|
||||
return [configuration.ChoiceRequirement(name = "architecture",
|
||||
choices = ["auto", "pae", "32", "64"],
|
||||
description = "Determines the memory image",
|
||||
default = "auto"),
|
||||
config.IntRequirement(name = "page_map_offset",
|
||||
configuration.IntRequirement(name = "page_map_offset",
|
||||
description = "Offset to the directory table base"),
|
||||
config.StringRequirement(name = 'layer_name',
|
||||
configuration.StringRequirement(name = 'layer_name',
|
||||
description = 'Name of the layer to be added to the memory space',
|
||||
default = 'intel'),
|
||||
config.StringRequirement(name = 'physical_layer',
|
||||
configuration.StringRequirement(name = 'physical_layer',
|
||||
description = "Layer name for the physical layer",
|
||||
default = 'physical'),
|
||||
config.StringRequirement(name = 'swap_layer',
|
||||
configuration.StringRequirement(name = 'swap_layer',
|
||||
description = "Layer name for the swap layer",
|
||||
optional = True)]
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from volatility.framework import interfaces, layers, config
|
||||
from volatility.framework import interfaces, layers, configuration
|
||||
|
||||
__author__ = 'mike'
|
||||
|
||||
@@ -6,10 +6,10 @@ __author__ = 'mike'
|
||||
class PhysicalContextModifier(interfaces.context.ContextModifierInterface):
|
||||
@classmethod
|
||||
def requirements(cls):
|
||||
return [config.StringRequirement(name = 'location',
|
||||
return [configuration.StringRequirement(name = 'location',
|
||||
description = 'URL to the physical address space',
|
||||
default = '/home/mike/memory/jon-fres.dmp'),
|
||||
config.StringRequirement(name = 'layer_name',
|
||||
configuration.StringRequirement(name = 'layer_name',
|
||||
description = 'Layer name for the physical space',
|
||||
default = 'physical')]
|
||||
|
||||
|
||||
@@ -7,4 +7,4 @@ Created on 12 Apr 2013
|
||||
# Import the submodules we want people to be able to use without importing them themselves
|
||||
# This will also avoid namespace issues, because people can use interfaces.layers to
|
||||
# avoid clashing with the layers package
|
||||
from volatility.framework.interfaces import config, context, layers, objects, plugins, renderers, symbols
|
||||
from volatility.framework.interfaces import configuration, context, layers, objects, plugins, renderers, symbols
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import inspect
|
||||
from volatility.framework import config
|
||||
from volatility.framework import configuration
|
||||
|
||||
import volatility.framework.interfaces.plugins as plugins
|
||||
|
||||
@@ -7,15 +7,15 @@ import volatility.framework.interfaces.plugins as plugins
|
||||
class PsList(plugins.PluginInterface):
|
||||
@classmethod
|
||||
def requirements(cls):
|
||||
return [config.TranslationLayerRequirement(name = 'primary',
|
||||
return [configuration.TranslationLayerRequirement(name = 'primary',
|
||||
description = 'Kernel Address Space',
|
||||
os_type = 'windows',
|
||||
architectures = None,
|
||||
layer_type = 'kernel'),
|
||||
config.IntRequirement(name = 'pid',
|
||||
configuration.IntRequirement(name = 'pid',
|
||||
description = "Process ID",
|
||||
optional = True),
|
||||
config.IntRequirement(name = 'offset',
|
||||
configuration.IntRequirement(name = 'offset',
|
||||
description = 'Address of any process',
|
||||
default = 0x192ad18)]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user