如何解密通过 whatsapp web 发送的二进制消息
How to decrypt sent binary message by whatsapp web
我正在尝试解码 WhatsApp 网络发送和接收消息。我能够使用 encKey
和 macKey
解密通过 websocket 接收的二进制消息,但无法搜索解密已发送消息的方法。我正在使用 google chrome 开发工具来复制消息。
白色的是收到的消息,绿色的是发送的。请解释或提供一些我可以获得此信息的资源。
我从发送的二进制数据中删除了前两个字节,其余字节已正确解密。
根据代码 here,
payload = bytearray(messageId) + bytearray(",") + bytearray(to_bytes(WAMetrics.MESSAGE, 1)) + bytearray(
[0x80]) + encryptedMessage
要发送的 WebSocket 负载是 messageid 和逗号的串联,后跟两个字节,即 bytearray(to_bytes(WAMetrics.MESSAGE, 1))
和 bytearray([0x80])
,然后是加密的消息。
考虑到这种格式,我从 Google Chrome 复制了 payload,在第一个逗号处拆分,然后如上所述删除了两个字节。剩下的二进制是加密的消息,可以直接用密钥解密。
def reverseDecryptMessage(message):
messageSplit = message.split(",", 1)
if len(messageSplit) == 1:
return
messageContent = messageSplit[1]
messageContent = messageContent[2:]
decryptBinary(messageContent)
我正在尝试解码 WhatsApp 网络发送和接收消息。我能够使用 encKey
和 macKey
解密通过 websocket 接收的二进制消息,但无法搜索解密已发送消息的方法。我正在使用 google chrome 开发工具来复制消息。
白色的是收到的消息,绿色的是发送的。请解释或提供一些我可以获得此信息的资源。
我从发送的二进制数据中删除了前两个字节,其余字节已正确解密。
根据代码 here,
payload = bytearray(messageId) + bytearray(",") + bytearray(to_bytes(WAMetrics.MESSAGE, 1)) + bytearray(
[0x80]) + encryptedMessage
要发送的 WebSocket 负载是 messageid 和逗号的串联,后跟两个字节,即 bytearray(to_bytes(WAMetrics.MESSAGE, 1))
和 bytearray([0x80])
,然后是加密的消息。
考虑到这种格式,我从 Google Chrome 复制了 payload,在第一个逗号处拆分,然后如上所述删除了两个字节。剩下的二进制是加密的消息,可以直接用密钥解密。
def reverseDecryptMessage(message):
messageSplit = message.split(",", 1)
if len(messageSplit) == 1:
return
messageContent = messageSplit[1]
messageContent = messageContent[2:]
decryptBinary(messageContent)