Skip to content

RawLayerRequirement / Creating a TranslationLayer without running automagic #486

@NiklasBeierl

Description

@NiklasBeierl

Is your feature request related to a problem? Please describe.
In my usecase I do not have symbols for the linux kernel I want to investigate, but I do know the position of the dtb (as well as aslr and kaslr offsets ==0). I want to create various plugins that leverage volatilities address translation. However, since I do not have kernel symbols, I can't use automagic to set up the translation layer. Instead, I want to add a requirement to my plugin for specifying the dtb position and let the plugin instantiate the translation layer. But since I do not add a TranslationLayerRequirement to my Plugin it does not even get a "raw layer" when it runs. I tested running vol with -f pointing to a file but context.layers remained empty.

Describe the solution you'd like
I want a RawLayerRequirement for my plugin that lets me access the memory inputs (files/snapshots whatever) that where specified when calling my plugin.

Describe alternatives you've considered
I checked other plugins, but it seems like the only "LayerRequirement" is the TranslationLayerRequirement.
I did not find a suitable volatility/framework/configuration/requirements.py.
I have a hard time figuring out how I would implement this requirement myself and have volatility understand what I need from it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions