Refactor config to configuration so we can have variables called config.

This commit is contained in:
Mike Auty
2015-09-28 01:31:22 +01:00
parent 897d8bd574
commit 0ff820667f
10 changed files with 28 additions and 28 deletions
+3 -3
View File
@@ -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:
+2 -2
View File
@@ -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:
+1 -1
View File
@@ -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
+6 -6
View File
@@ -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
+6 -6
View File
@@ -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)]
+3 -3
View File
@@ -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')]
+1 -1
View File
@@ -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
+4 -4
View File
@@ -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)]