最近想研究一下掌盟 LOL 玩家战绩查询的接口,发现 Fidder 或者 Charles 都抓不到包,是为什么呢? 难道说因为协议的问题吗,难道掌盟数据查询用的是 TCP 协议? 求做过类似的大佬帮忙指点一下~
1
crab 2018-07-07 13:01:41 +08:00
APP 要是提示网络连接失败或者等其他 有可能是 SSL Pinning。
|
3
daigouspy 2018-07-07 13:18:42 +08:00 via Android
直接在网线上接一个信号分析仪
|
4
RockOrRoll 2018-07-07 15:37:03 +08:00 via iPhone
换个低版本安卓看看
|
5
KomeijiSatori 2018-07-07 16:28:00 +08:00
走的 https 吧
|
6
ChangQin 2018-07-07 16:28:43 +08:00 1
可以抓的,首先你先看看是不是装证书才能看。装了之后不能的话就有可能是 ssl,用 xposed hook ssl 的方法就能绕过去了。再有就是有的走的不是 Http,你下载一个代理机器人就能玩了 http://apps.game.qq.com/daoju/go/zmgoods/list?cat=16&page=1&plat=android&version=9811
|
7
victor97 2018-07-07 19:29:53 +08:00 via Android
Android 7.0 开始装了证书也不能抓包了
|
8
iluhcm 2018-07-07 19:39:49 +08:00 via Android
没试过,但是我猜测楼主说的抓不到包应该是请求都没有经过 Charles,这可能是因为在代码中设置了不经过代理直接请求。
|
9
yezhiye 2018-07-07 20:19:30 +08:00 via Android
xposed + JustTrustMe +安装证书。这样才能抓 https 的包。
|
10
FanWall 2018-07-07 20:37:57 +08:00 via Android
说说猜测,因为我也没有去实际反编译。
假设是 http 协议,那么楼主已经说了抓包没有出现连接错误,所以基本可以排除 SSL Pinning。那么最常见的就如同 @iluhcm #8 的观点,设置了不走代理,想个办法让它走代理就行了。 然后就是非 http 协议的情况,可能性更大,因为腾讯系的 app 一直有比较通用的基于 TCP 的通信协议,例如可以反编译看下有没有类似 com.qq.taf.jce 的 package。 |
11
jpmorn 2018-07-07 20:40:10 +08:00
app ssl 加密 bypass 一般来说,我们抓 https 包使用 fiddler 或 charles,然后手机安装证书就可以抓包了,但是有时候我们抓某些 app 时候,一连上代理,却提示不能上网,明明可以上网,为啥 app 提示无网络,原因可能就是开启了 https 双向认证,客户端一般使用 SSL Pinning 防止中间人拦截攻击。我们可以使用 ssl-kill-switch2 绕过客户端的证书校验,就又可以愉快的抓包了。
ssl-kill-switch2 最新版本是 v0.11 ,支持 ios10 方法论: Did you go through these procedures to get JustTrustMe to bypass the cert pinning -- http://www.welivesecurity.com/2016/09/08/avoid-certificate-pinning-latest-versions-android/ -- ? If you are just looking to intercept WebViews, then the Frida extension, appmon (which allows for API interception), using these techniques will work well -- If you do end up having to rewrite some code, try to keep it really simple. I found this technique which doesn't mess with the existing cert-pinning code and instead just adds the HTTP traffic to the logging system -- https://blog.securityevaluators.com/how-to-view-tls-traffic-in-androids-logs-6a42ca7a6e55 For a series on repackaging Android apps, be sure to check out: * https://pen-testing.sans.org/blog/pen-testing/2015/06/30/modifying-android-apps-a-sec575-hands-on-exercise-part-1 * https://pen-testing.sans.org/blog/pen-testing/2015/07/07/modifying-android-apps-a-sec575-hands-on-exercise-part-2 |
12
aaaa9966 OP 最新结果:LZ 试了一下,用 rvictl+wireshark 抓包,抓到的结果:
结论:掌盟 LOL 战绩查询的数据通信应该是用的的 SSL 加密的 SOCKET,所以是 TCP 协议,抓包抓到了的数据全是 SSL 加密的数据,所以想获取这个接口的数据应该难度是很大的,不知道我说的对不对? |