Fix up recent Mac PagedInvalidAddress additions.

This commit is contained in:
Mike Auty
2019-09-27 11:21:49 +01:00
parent 81be3c0d66
commit c00b820f74
3 changed files with 12 additions and 13 deletions
+3 -3
View File
@@ -220,12 +220,12 @@ class MacUtilities(object):
try:
num_fds = task.p_fd.fd_lastfile
except exceptions.PagedInvalidAddressException:
except exceptions.InvalidAddressException:
num_fds = 1024
try:
nfiles = task.p_fd.fd_nfiles
except exceptions.PagedInvalidAddressException:
except exceptions.InvalidAddressException:
nfiles = 1024
if nfiles > num_fds:
+2 -2
View File
@@ -74,7 +74,7 @@ class PsList(interfaces.plugins.PluginInterface):
mac.MacUtilities.aslr_mask_symbol_table(context, darwin_symbols, layer_name)
kernel = contexts.Module(context, darwin_symbols, layer_name, 0)
kernel_as = context.layers[layer_name]
proc = kernel.object_from_symbol(symbol_name = "allproc").lh_first
@@ -92,7 +92,7 @@ class PsList(interfaces.plugins.PluginInterface):
try:
proc = proc.p_list.le_next.dereference()
except exceptions.PagedInvalidAddressException:
except exceptions.InvalidAddressException:
break
def run(self):
@@ -349,16 +349,16 @@ class inpcb(objects.StructType):
def get_ipv4_info(self):
try:
lip = self.inp_dependladdr.inp46_local.ia46_addr4.s_addr
except exceptions.PagedInvalidAddressException:
except exceptions.InvalidAddressException:
return None
lport = self.inp_lport
try:
rip = self.inp_dependfaddr.inp46_foreign.ia46_addr4.s_addr
except exceptions.PagedInvalidAddressException:
except exceptions.InvalidAddressException:
return None
rport = self.inp_fport
return [lip, lport, rip, rport]
@@ -366,16 +366,16 @@ class inpcb(objects.StructType):
def get_ipv6_info(self):
try:
lip = self.inp_dependladdr.inp6_local.member(attr = '__u6_addr').member(attr = '__u6_addr32')
except exceptions.PagedInvalidAddressException:
except exceptions.InvalidAddressException:
return None
lport = self.inp_lport
try:
rip = self.inp_dependfaddr.inp6_foreign.member(attr = '__u6_addr').member(attr = '__u6_addr32')
except exceptions.PagedInvalidAddressException:
except exceptions.InvalidAddressException:
return None
rport = self.inp_fport
return [lip, lport, rip, rport]
@@ -392,4 +392,3 @@ class queue_entry(objects.StructType):
while p is not None and p.vol.offset != list_head:
yield p
p = p.member(attr = member_name).prev.dereference().cast(type_name)