Goal of work was to get better output on corrupt rops.
Reworked DisplayObject to handle all objects natively, with better handling (more info) in the failure case when AddNodesForTree throws, including always showing the hex data
AddNodesForTree now handles simple types natively, and understands Payloads that are strings (converted exceptions)
Array data now includes a cb subnode for array length
ExecuteResponseBody won't throw if we don't have remaining buffer to look for AuxiliaryBuffer data
RgbOutputBuffer and RgbOutputBufferPack Parse routines catch lower level throws and save the error to Payload
Result of changes is more corrupted rops will display the portion that DID parse correctly and allow us to zero in on the portion of the rop that is corrupted.
Goal of work was to get better output on corrupt rops. Reworked DisplayObject to handle all objects natively, with better handling (more info) in the failure case when AddNodesForTree throws, including always showing the hex data AddNodesForTree now handles simple types natively, and understands Payloads that are strings (converted exceptions) Array data now includes a cb subnode for array length ExecuteResponseBody won't throw if we don't have remaining buffer to look for AuxiliaryBuffer data RgbOutputBuffer and RgbOutputBufferPack Parse routines catch lower level throws and save the error to Payload
Result of changes is more corrupted rops will display the portion that DID parse correctly and allow us to zero in on the portion of the rop that is corrupted.