最近在折腾 Gboard(Google 键盘)的逆向,想看看它在用户搜索的时候到底和 Google 的服务器交换了些什么数据。一开始的想法是挂代理抓包,但 Surge 和 Reqable 都没能解出来——Gboard 走的是 HTTP/2 + gRPC,MITM 代理基本没法正常解析。最终通过 Frida hook BoringSSL 解密越狱 iPhone 上的 TLS 流量,逐层拆解 HTTP/2、gRPC 和 Protobuf,还原出了完整的搜索接口并用 grpcurl 复现了请求。
最近在折腾 Gboard(Google 键盘)的逆向,想看看它在用户搜索的时候到底和 Google 的服务器交换了些什么数据。一开始的想法是挂代理抓包,但 Surge 和 Reqable 都没能解出来——Gboard 走的是 HTTP/2 + gRPC,MITM 代理基本没法正常解析。最终通过 Frida hook BoringSSL 解密越狱 iPhone 上的 TLS 流量,逐层拆解 HTTP/2、gRPC 和 Protobuf,还原出了完整的搜索接口并用 grpcurl 复现了请求。
大约四年前,我与朵姐姐一起通过逆向工程揭示了米家客户端旧版的通讯协议的秘密。然而,随着米家客户端的更新,这一旧版的通讯协议已经不再适用。
本文基于米家 Android 8.5.704 客户端 (Google Play)
首先是抓了一下协议, 网易云音乐的接口本身是有加密的, 但是没关系, 已经有 NetEaseCloudMusic 这样的项目逆向出了基本的通讯协议, 可以直接使用.

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
1 | hexo new "My New Post" |
More info: Writing
1 | hexo server |
More info: Server
1 | hexo generate |
More info: Generating
1 | hexo deploy |
More info: Deployment