我很想知道Pokemon Go的要求以及回复的样子,类似于在网站上使用chrome dev工具。有没有什么方法可以监控Android应用程序的请求,就像我监控网站一样?
答案 0 :(得分:7)
其他人已经为此提到了良好的MITM代理工具 - Fiddler,Charles Proxy,Burp和MITM Proxy。但是,Pokemon Go使用Protocol Buffers进行通信,而不是XML,JSON等。这种格式对于人类来说更难以使用,因为它不会显示具有人类可读键或值的数据。如果没有应用程序和服务器用来解释数据的原始模式.proto文件,您必须查看原始数据并尝试通过执行不同的请求来了解它,并了解数据如何更改以尝试了解不同领域可能代表什么。然后,您可以自己构建.proto文件,以便以人类可读的方式显示数据。
答案 1 :(得分:5)
这是我尝试过的路径(不过专门针对口袋妖怪):
mitmproxy -p 3128
答案 2 :(得分:2)
这些答案在当时都是完全正确的,但我觉得有些额外的信息是有必要的,因为有些变化。在版本0.31中,Pokemon Go添加了证书固定,这可以防止基本的MITM代理工作,而无需执行以下两项操作之一来取消固定证书。
您可以尝试找到已删除证书固定的Pokemon GO APK,然后照常执行MITM代理
您可以使用http://repo.xposed.info/module/de.rastapasta.android.xposed.pokemongo等xposed模块来欺骗
此外,protobuf文件此时已被相当成功地解码,this one等项目有助于让生活更容易嗅到这样的流量。
答案 3 :(得分:0)
是的,您可以让设备的所有请求通过您的PC并列出来。如果您使用Windows,我建议http://www.telerik.com/fiddler,对于Mac和Linux https://www.charlesproxy.com/。