如何使用 po 或其他方法在 lldb 中打印 XPC msg 完整对象

How can I print XPC msg in lldb the full object using po or other method

(lldb) po 0x7fa5ed509460
<OS_xpc_data: data[0x7fa5ed509460]: { refcnt = 1, xrefcnt = 1, buff = 0x7fa5ee00d040, len = 1921 } <data: 0x7fa5ed509460>: { length = 1921 bytes, contents = 0x62706c6973743030d4010203040506070a58247665727369... }>

我有一个 XPC 消息,我想打印内容中的完整数据,如果它被序列化(它是)反序列化它。

我尝试了以下方法:

po [[0x7fa5ed40d440 dictionary] objectForKey:@"contents"]
po [[0x7fa5ed40d440] objectForKey:@"contents"]
po 0x7fa5ed509460.contents
po 0x7fa5ed509460->contents
po 0x7fa5ed509460[@"contents"]

None 他们成功了。

正确的获取方式是什么? 反序列化的正确方法是什么?

基于https://www.fortinet.com/blog/threat-research/a-look-into-xpc-internals--reverse-engineering-the-xpc-objects

8. xpc_data_t

你可以这样读:

x 0x7fa5ee00d040 -c 1921