mirror of
https://github.com/volatilityfoundation/volatility3.git
synced 2026-08-22 14:32:21 +02:00
This allows the CLI to expose options that the renderers can offer. These options are limited (string, int, bool and bytes), so no lists or choices, etc. Each renderer's options are also global options, meaning they're always present (although grouped). There's two ways of handling this: a) Prefix each option with the renderer's name, duplicate options are unique b) Deduplicate options with duplicate names and prefix 'renderer' The current choice is a) because b) might confuse people that an option which only applied to one renderer would be available for all, but comes with the inconvenience that users must adapt the option name for those that are duplicated with the same meaning. This is at least functional and extendable in the future but still a bit clunky. We could have brought the entire configuration mechanism into play, but each renderer would require a context and a config_path and so on, meaning massive overkill and a non-addition-only API change.
17 lines
813 B
Python
17 lines
813 B
Python
# This file is Copyright 2019 Volatility Foundation and licensed under the Volatility Software License 1.0
|
|
# which is available at https://www.volatilityfoundation.org/license/vsl-v1.0
|
|
#
|
|
"""The interfaces module contains the API interface for the core volatility
|
|
framework.
|
|
|
|
These interfaces should help developers attempting to write components
|
|
for the main framework and help them understand how to use the internal
|
|
components of volatility to write plugins.
|
|
"""
|
|
|
|
# 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 configuration, renderers, context, layers, objects, plugins, symbols, \
|
|
automagic
|