volatility3 icon indicating copy to clipboard operation
volatility3 copied to clipboard

Bulk out Module support for specific requirements

Open ikelos opened this issue 3 months ago • 5 comments

This should ensure that modules more explicitly state what requirements they have which should also allow that to be recorded more accurately in the configuration when needed.

@Abyss-W4tcher please could you test this (after adding your own requirements to your new Module type) and report back whether the values you need get stored appropriately or not.

ikelos avatar Mar 24 '24 15:03 ikelos

I will try it soon and keep you informed 👍

Abyss-W4tcher avatar Mar 24 '24 15:03 Abyss-W4tcher

I have merged these changes, and tried on a basic sample mac-sample-1.bin, and adding random non-optional requirements isn't preventing the module from instantiating.

In fact, get_requirements() doesn't seem to be called in the first place.

Abyss-W4tcher avatar Mar 25 '24 08:03 Abyss-W4tcher

Hi, any update on this feature ?

Abyss-W4tcher avatar Apr 23 '24 08:04 Abyss-W4tcher

No, not yet sorry, I need to find time to unpick why get_requirements isn't getting called appropriately...

ikelos avatar Apr 23 '24 22:04 ikelos

Ok, so my mistake. It turns out it's not the Module that's used to figure out its requirements, it's the ModuleRequirement which specifies them, meaning for a specific module to be loaded, we can't just create a new ArmModule with different requirements, we'd need to define a custom ArmModuleRequirement which somewhat does away with the point of trying to keep things modular. As such this branch is duff and I'm going to close it off.

In the larger picture of getting the Mac stuff in the right way, I'm afraid it's back to the drawing board for a little bit to figure out how to get optional requirements for a ModuleRequiement (I suspect it'll come down to a MacModuleRequirement, which isn't ideal, but may be workable)...

ikelos avatar Apr 23 '24 22:04 ikelos