Fix: ThreadsProcess for windows older version

This commit is contained in:
Donghyun Kim
2022-05-10 12:29:36 +09:00
parent b0e0f20966
commit f4dd582f15
@@ -450,7 +450,12 @@ class ETHREAD(objects.StructType):
def owning_process(self) -> interfaces.objects.ObjectInterface:
"""Return the EPROCESS that owns this thread."""
return self.Tcb.Process.dereference().cast("_EPROCESS")
if(self.has_member("ThreadsProcess")):
return self.ThreadsProcess.dereference().cast("_EPROCESS")
elif(self.has_member("Tcb") and self.Tcb.has_member("Process")):
return self.Tcb.Process.dereference().cast("_EPROCESS")
else:
raise AttributeError("Unable to find the owning process of ethread")
def get_cross_thread_flags(self) -> str:
dictCrossThreadFlags = {