Information Security 9 min read

Can Your Company Spy on WeChat Chats? Protocol Analysis Reveals the Truth

This article examines whether a company can monitor WeChat conversations on its network by dissecting the web and mobile versions' protocols, demonstrating how tools like Fiddler and Wireshark can decrypt web chats while mobile traffic remains secure through private protocols and embedded server keys.

macrozheng
macrozheng
macrozheng
Can Your Company Spy on WeChat Chats? Protocol Analysis Reveals the Truth
Recently a friend asked whether a company can see the content of WeChat chats when using the corporate network.

In short, WeChat uses private protocols that appear as long byte streams in protocol analysis tools, making it difficult to interpret without deeper inspection.

Web Version of WeChat

Protocol Analysis Result

Protocol analysis software can extract and decrypt the chat content, as shown in the captured screenshots.

Real Chat Content

Exactly the same!

Experiment Conclusion

Protocol analysis software can decrypt the chat messages.

Experiment Analysis

The web version communicates via standard browsers (Chrome, Firefox, IE), which use standard protocols that can be decoded.

When SSL/TLS encryption is present, Fiddler acts as a man‑in‑the‑middle, presenting a forged certificate to the browser, establishing an SSL/TLS tunnel with the client, then another tunnel with the WeChat server, decrypting and re‑encrypting the traffic.

Browser establishes SSL/TLS tunnel with Fiddler

Fiddler establishes SSL/TLS tunnel with WeChat server

Fiddler acts as a relay, decrypting then re‑encrypting messages

Fiddler must forge the server certificate

Computer must install and trust Fiddler’s self‑signed root certificate

Mobile Version of WeChat

Protocol Analysis Result

The mobile app does not use TLS + HTTP (HTTPS); it uses plain HTTP.

Each packet looks like this:

The HTTP header is plaintext, while the HTTP body appears as a chaotic byte stream.

No chat content is found, and Fiddler shows no response when a message is sent.

This suggests the message packets are not HTTP/HTTPS but likely raw TCP or UDP.

Official confirmation from WeChat R&D indicates TCP transport with two connection types:

Long connection: TCP + private protocol + MMTLS + business layer

Short connection: TCP + HTTP + MMTLS + business layer

Short connections exist for compatibility with older versions; long connections are fully private, so Fiddler cannot capture them because it only handles HTTP/HTTPS.

Wireshark can capture the TCP packets of the long connection, but the payload after the TCP header is unintelligible.

MMTLS Explained

MMTLS is a simplified version of TLS 1.3 that removes client authentication, keeping only server authentication.

ECDSA Public Key

ECDSA is used to verify the server’s identity; any MMTLS handshake signed with the server’s private key can be verified with the embedded ECDSA public key, proving the message originates from the genuine WeChat server.

The client authenticates the server without a CA, using the pre‑installed ECDSA public key.

Static ECDH Public Key

For zero‑RTT (0 RTT) messaging, the client generates its own ECDH key pair and nonce, combines them with the server’s pre‑installed nonce, and can compute the pre‑master, master, and session keys locally, encrypting the message immediately.

The server receives the client’s ECDH public key and nonce, uses its own ECDH private key and the stored nonce to compute the same session key and decrypt the message.

MMTLS adds no extra latency, enabling 0 RTT communication.

Because the client forces the use of the server’s ECDSA public key, Fiddler cannot impersonate the server; if forced, the client will drop the connection, making WeChat unusable.

Final Conclusion

Web version of WeChat on a company network can be monitored by the company, regardless of using a corporate or personal computer.

Web version on a 4G network bypasses the corporate network, so the company cannot see the chats.

Mobile version uses a private protocol with embedded server public keys; it is secure on both company and 4G networks, preventing the company from viewing the content.

Network SecurityWiresharkTLSWeChatprotocol analysisFiddlerMMTLS
macrozheng
Written by

macrozheng

Dedicated to Java tech sharing and dissecting top open-source projects. Topics include Spring Boot, Spring Cloud, Docker, Kubernetes and more. Author’s GitHub project “mall” has 50K+ stars.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.