restore pslist, add queue_head_t type class

This commit is contained in:
Abyss Watcher
2024-02-29 14:36:46 +01:00
parent 3a65626671
commit a8e1082827
2 changed files with 5 additions and 7 deletions
+2 -6
View File
@@ -49,9 +49,7 @@ class PsList(interfaces.plugins.PluginInterface):
]
@classmethod
def get_list_tasks(
cls, method: str
) -> Callable[
def get_list_tasks(cls, method: str) -> Callable[
[interfaces.context.ContextInterface, str, Callable[[int], bool]],
Iterable[interfaces.objects.ObjectInterface],
]:
@@ -188,9 +186,7 @@ class PsList(interfaces.plugins.PluginInterface):
kernel_layer = context.layers[kernel.layer_name]
queue_entry = kernel.object(
object_type="queue_entry", offset=kernel.get_symbol("tasks").address
)
queue_entry = kernel.object_from_symbol(symbol_name="tasks")
seen: Dict[int, int] = {}
for task in queue_entry.walk_list(queue_entry, "tasks", "task"):
@@ -21,12 +21,14 @@ class MacKernelIntermedSymbols(intermed.IntermediateSymbolTable):
self.set_type_class("vm_map_object", extensions.vm_map_object)
self.set_type_class("socket", extensions.socket)
self.set_type_class("inpcb", extensions.inpcb)
self.set_type_class("queue_entry", extensions.queue_entry)
self.set_type_class("ifnet", extensions.ifnet)
self.set_type_class("sockaddr_dl", extensions.sockaddr_dl)
self.set_type_class("sockaddr", extensions.sockaddr)
self.set_type_class("sysctl_oid", extensions.sysctl_oid)
self.set_type_class("kauth_scope", extensions.kauth_scope)
# https://developer.apple.com/documentation/kernel/queue_head_t
self.set_type_class("queue_entry", extensions.queue_entry)
self.set_type_class("queue_head_t", extensions.queue_entry)
class MacUtilities(interfaces.configuration.VersionableInterface):