Skip to content

Commit 89b6c09

Browse files
authored
Merge pull request #952 from cpuu/mac_pslist
Add more process information to mac.pslist plugin
2 parents 74e8582 + f8fc5d5 commit 89b6c09

File tree

1 file changed

+26
-5
lines changed

1 file changed

+26
-5
lines changed

volatility3/framework/plugins/mac/pslist.py

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22
# which is available at https://www.volatilityfoundation.org/license/vsl-v1.0
33
#
44

5+
import datetime
56
import logging
6-
from typing import Callable, Iterable, List, Dict
7+
from typing import Callable, Dict, Iterable, List
78

8-
from volatility3.framework import renderers, interfaces, exceptions
9+
from volatility3.framework import exceptions, interfaces, renderers
910
from volatility3.framework.configuration import requirements
1011
from volatility3.framework.objects import utility
12+
from volatility3.framework.renderers import format_hints
1113
from volatility3.framework.symbols import mac
1214

1315
vollog = logging.getLogger(__name__)
@@ -105,10 +107,20 @@ def _generator(self):
105107
self.config["kernel"],
106108
filter_func=self.create_pid_filter(self.config.get("pid", None)),
107109
):
110+
offset = format_hints.Hex(task.vol.offset)
111+
name = utility.array_to_string(task.p_comm)
108112
pid = task.p_pid
113+
uid = task.p_uid
114+
gid = task.p_gid
115+
start_time_seconds = task.p_start.tv_sec
116+
start_time_microseconds = task.p_start.tv_usec
117+
start_time = datetime.datetime.fromtimestamp(
118+
start_time_seconds + start_time_microseconds / 1e6
119+
)
120+
109121
ppid = task.p_ppid
110-
name = utility.array_to_string(task.p_comm)
111-
yield (0, (pid, ppid, name))
122+
123+
yield (0, (offset, name, pid, uid, gid, start_time, ppid))
112124

113125
@classmethod
114126
def list_tasks_allproc(
@@ -310,5 +322,14 @@ def list_tasks_pid_hash_table(
310322

311323
def run(self):
312324
return renderers.TreeGrid(
313-
[("PID", int), ("PPID", int), ("COMM", str)], self._generator()
325+
[
326+
("OFFSET", format_hints.Hex),
327+
("NAME", str),
328+
("PID", int),
329+
("UID", int),
330+
("GID", int),
331+
("Start Time", datetime.datetime),
332+
("PPID", int),
333+
],
334+
self._generator(),
314335
)

0 commit comments

Comments
 (0)