4
4
5
5
import logging
6
6
from typing import Iterable , List , Tuple
7
+ import datetime
7
8
8
9
from volatility3 .framework import interfaces , renderers
9
10
from volatility3 .framework .configuration import requirements
@@ -18,7 +19,7 @@ class VadYaraScan(interfaces.plugins.PluginInterface):
18
19
"""Scans all the Virtual Address Descriptor memory maps using yara."""
19
20
20
21
_required_framework_version = (2 , 22 , 0 )
21
- _version = (1 , 1 , 3 )
22
+ _version = (1 , 1 , 4 )
22
23
23
24
@classmethod
24
25
def get_requirements (cls ) -> List [interfaces .configuration .RequirementInterface ]:
@@ -102,6 +103,15 @@ def _generator(self):
102
103
yield 0 , (
103
104
format_hints .Hex (offset ),
104
105
task .UniqueProcessId ,
106
+ task .get_create_time (),
107
+ task .InheritedFromUniqueProcessId ,
108
+ task .ImageFileName .cast (
109
+ "string" ,
110
+ max_length = task .ImageFileName .vol .count ,
111
+ errors = "replace" ,
112
+ ),
113
+ task .get_session_id (),
114
+ task .ActiveThreads ,
105
115
rule_name ,
106
116
name ,
107
117
layer_data ,
@@ -130,6 +140,11 @@ def run(self):
130
140
[
131
141
("Offset" , format_hints .Hex ),
132
142
("PID" , int ),
143
+ ("CreateTime" , datetime .datetime ),
144
+ ("PPID" , int ),
145
+ ("ImageFileName" , str ),
146
+ ("SessionId" , int ),
147
+ ("Threads" , int ),
133
148
("Rule" , str ),
134
149
("Component" , str ),
135
150
("Value" , renderers .LayerData ),
0 commit comments