我正在尝试通过 Telegram 中的秘密聊天(〜类似于自己的客户端)实现接收/发送消息,但在解释解密数据时遇到了一些问题。我已阅读架构,但无法将其与我的数据匹配。
更具体地说:我收到了一条带有“Test12”字样的消息(从官方客户端发送),解码结果(十六进制)是:
3C0000008917E31B0FF1C770B657C36AF705BDACA4BE2C0B2E0000000100000062000000DE91B0360000000038507C7CD5FA6F7C00 00000006 546573743132 00
我们可以在这里找到从 57 字节(粗体)和(如果我没记错的话)长度(斜体)开始的整个消息。但是我怎样才能匹配其他字节呢?在模式中说消息应该从 8 (salt) + 8 (session_id) + 8 (message_id) + 4 (seq_no) + 4 (message_data_length) = 32 字节开始,而不是从 57 字节开始。
此外,当我尝试发送更长的消息(超过〜256字节)时,“消息文本”从60字节开始,长度也编码有点奇怪:1024字节消息的FE000400和512字节的FE000200(什么FE 是什么意思?)。
那么,任何人都可以给我一个模式或我做错了什么的线索吗?