Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: implement DeviceTree plugin. #689

Merged
merged 10 commits into from
Mar 28, 2022

Conversation

digitalisx
Copy link
Contributor

@digitalisx digitalisx commented Mar 27, 2022

Description

Hello, everyone in the community! 😃
There are some plugins that have not been implemented as they are updated from Volatility 2 to 3.
After reviewing this #118, I found that DeviceTree plugin has not yet migrated to 3.
So I'm implemented (or porting) of DeviceTree plugin according to the Volatility 3 structure.

It was implemented so that the same results as Volatility 2 can be obtained by referring to the existing code.

Command

Help Command

> python3 vol.py -h
windows.devicetree.DeviceTree Listing tree based on drivers and attached devices in a particular windows memory image.

Run Command

python3 vol.py -f case.vmem windows.devicetree

Output Example

Volatility 3 Framework 2.0.2
Progress:  100.00               PDB scanning finished                        
Offset  Type    DriverName      DeviceName      DeviceType
0x97065bd32e20  DRV     HDAudBus        N/A     N/A
* 0x97065bd32e20        DEV     HDAudBus        00000070        FILE_DEVICE_SOUND
** 0x97065bd32e20       ATT     HDAudBus        00000071 - \Driver\HdAudAddService      FILE_DEVICE_KS
*** 0x97065bd32e20      ATT     HDAudBus        00000072 - \Driver\ksthunk      FILE_DEVICE_KS
0x97065bd36060  DRV     usbehci N/A     N/A
* 0x97065bd36060        DEV     usbehci USBPDO-2        FILE_DEVICE_BUS_EXTENDER
** 0x97065bd36060       ATT     usbehci 0000006f - \Driver\usbhub       UNKNOWN
0x97065bd369c0  DRV     gencounter      N/A     N/A
* 0x97065bd369c0        DEV     gencounter      VmGenerationCounter     FILE_DEVICE_UNKNOWN
0x97065bd5a300  DRV     e1i65x64        N/A     N/A
* 0x97065bd5a300        DEV     e1i65x64        INTELPRO_{2CF4C691-FB21-4D9A-8CEA-F5AD9232FC61} FILE_DEVICE_NETWORK

If you are interested in or have any comments on this PR, please feel free to leave a thread! 🙌

Copy link
Member

@ikelos ikelos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, this looks really good, thanks! 5:) There's a few little bits and pieces that need tidying and a couple of bigger things that we might think about doing in the future, but for now if we get the small stuff cleaned up I'd be happy to merge it... 5:)

Copy link
Member

@ikelos ikelos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some additional comments, generally I think we're both in agreement on everything (and I misunderstood what was going on in one part). 5:)

@digitalisx
Copy link
Contributor Author

Hello @ikelos,
Thank you for your review! 😊

I thought about the feedback you gave me and changed the code through various experiments.
Some codes have been modified directly for feedback, but others have probably been changed indirectly.
I hope you will like my new proposal.

If you have any comments on this PR, please feel free to leave a thread! 🙌

@digitalisx digitalisx requested a review from ikelos March 28, 2022 08:03
Copy link
Member

@ikelos ikelos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks very much for all the changes, this looks good! 5:D

@ikelos ikelos merged commit db20ccf into volatilityfoundation:develop Mar 28, 2022
@digitalisx digitalisx deleted the feature/device-tree branch March 28, 2022 12:29
@digitalisx digitalisx changed the title Implement DeviceTree plugin. Feature: implement DeviceTree plugin. May 3, 2022
@digitalisx digitalisx changed the title Feature: implement DeviceTree plugin. Feature: implement DeviceTree plugin. May 3, 2022
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants