我正在尝试对whatsapp协议进行逆向工程。我试图使用Charles Proxy(我导入了charles代理证书)。
问题是我只看到一个请求(whatsapp用于获取所有使用whatsapp的联系人)。所有其他沟通对我来说都是看不见的。
我使用charles作为SOCKS代理(http://snipplr.com/view/16563/how-to-connect-to-a-socks-proxy-from-an-unjailbroken-iphoneipod-touch/)。
whatsapp如何绕过iPhone代理设置?我认为所有SDK类都应该尊重这些设置。
答案 0 :(得分:4)
Whatsapp 协议并没有真正实现ssl。它只使用端口443传递代理。 包括消息和联系人在内的所有数据传递均以纯文本形式供所有人查看。
您可以在计算机上创建一个ad-hoc无线热点(确保它使用以太网线连接到互联网,否则你将离线)从你的iPhone连接到该网络,在你的计算机上启动任何数据包嗅探器(我个人使用wireshark)并过滤tcp端口443. viola,你将从whatsapp服务器获得请求和响应,而不会拦截数据。
从未完成这个,但我认为你可以只使用iPhone设置(设置 - > general-> network-> vpn->添加vpn配置 - >代理设置(手动) )将端口443下的所有网络代理到你自己的服务器,你需要运行一个处理请求的专有程序,并将它们(处理)发送到whatsapp服务器。
据我所知,协议中的一些数据是编码的(substitutions / base64 /其他基本编码)。
关于你关于代理传递的问题我希望我的解答如何解决你的问题。
答案 1 :(得分:0)
Whatsapp有严重的安全流程。
^在您的责任范围内使用这些。