这是哪个 JSON 对象紧凑二进制序列化?

逆向工程 二元分析 编码 二进制格式 联网
2021-06-13 20:45:13

我正在尝试对在移动应用程序和服务器之间的请求-响应对中发现的未知 JSON 二进制序列化格式进行逆向工程。

有人认出这个吗?我附上了 68 个请求和响应对中的第一个 640B

请求数据:https : //termbin.com/4atc

响应数据:https : //termbin.com/04ib

更新:响应数据(ungz):https ://termbin.com/31va

一个完整的请求:https : //termbin.com/5sa7

一个完整的回复:https : //termbin.com/m2wy

基于嵌入的字符串,我认为编码是基于类型、长度、值编码的 CBOR RFC7049,0x78 0x6b 后跟 107 个字符。

00000180: e807 4100 0878 6b4e 4641 4e44 524f 4944 312d 5052 562d 502d 4c33 2d53 414d 5355  ..A..xkNFANDROID1-PRV-P-L3-SAMSU
000001a0: 534d 2d47 3933 3546 2d34 3434 352d 3030 3030 3030 3030 3030 3030 3030 3030 3030  SM-G935F-4445-000000000000000000
000001c0: 3030 3030 3030 3030 3030 3030 3030 3030 3030 3030 3030 3030 3030 3030 3030 3030  00000000000000000000000000000000
000001e0: 3030 3030 3030 3030 3030 3030 3030 305f 3531 0950 7673 c75e e626 663d b4f0 5e93  000000000000000_51.Pvs.^.&f=..^.

根据 RFC7049 表 5,这是一个 UTF-8 字符串。

   +-----------------+-------------------------------------------------+
   | Byte            | Structure/Semantics                             |
   +-----------------+-------------------------------------------------+
   | 0x78            | UTF-8 string (one-byte uint8_t for n, and then  |
   |                 | n bytes follow)                                 |

但是,我仍然无法解码整个消息。任何指针表示赞赏!

1个回答

1f 8b 是 gzip 标头魔术,因此请先尝试解压缩它,它可能只是原始 json