Handle better java references
parent
ba13e9d64c
commit
731c2f99d1
|
@ -109,6 +109,11 @@ module Rex
|
|||
|
||||
desc = array_description.description
|
||||
|
||||
if desc.class == Reference
|
||||
ref = desc.handle - BASE_WIRE_HANDLE
|
||||
desc = stream.references[ref]
|
||||
end
|
||||
|
||||
unless desc.class_name.contents[0] == '[' # Array
|
||||
raise ::RuntimeError, 'Unsupported NewArray description'
|
||||
end
|
||||
|
|
|
@ -94,7 +94,12 @@ module Rex
|
|||
values = []
|
||||
|
||||
unless my_class_desc.super_class.description.class == NullReference
|
||||
values += decode_class_data(io, my_class_desc.super_class.description)
|
||||
if my_class_desc.super_class.description.class == Reference
|
||||
ref = my_class_desc.super_class.description.handle - BASE_WIRE_HANDLE
|
||||
values += decode_class_data(io, stream.references[ref])
|
||||
else
|
||||
values += decode_class_data(io, my_class_desc.super_class.description)
|
||||
end
|
||||
end
|
||||
|
||||
values += decode_class_fields(io, my_class_desc)
|
||||
|
|
Loading…
Reference in New Issue