一、安装Fiddler抓包工具并配置
点击Tools->Options…:
勾选上HTTPS和Connection选项卡里面的对勾,如图所示:
配置完毕需要重启Fiddler。
二、配置手机端
iPhone须和抓包的PC机在同一个网络里,我这里测试时的iPhone系统版本是iOS 10.3.1。
先查看Fiddler软件所在的PC机IP地址并记下,如图所示,我是 192.168.123.48,你的和我的肯定不一样,如果一样而你又是妹子的话,请加我微信。
记下如图所示的地址,然后再打开iPhone,找到WiFi设置,点击 i 图标,进入WiFi详细设置。
设置HTTP代理为手动,服务器为PC机的IP地址,端口为8888(8888为Fiddler安装后的默认抓包监听端口)
设置好以后,从Safari浏览器里输入地址 192.168.123.48:8888,即你的PC机 IP地址+英文冒号+端口号8888
回车访问到如下界面,点击FiddlerRoot certificate 安装Fiddler证书
接下来还有重要很重要的一步,如果不设置将会无法抓取到HTTPS的包。
点击设置->关于本机->证书信任设置->进入证书信任设置,把DO_NOT_TRUST_FiddlerRoot的这个选项给打开,基于安全的考虑,建议自己使用抓包完以后仍旧关闭此选项。
三、打开Fiddler,准备抓包。
此时建议关闭浏览器中的不必要页面,以免抓取到太多非微信小游戏的请求信息影响判断。
打开微信的跳一跳小游戏,正常情况下此时Fiddler应该会抓取到一条一条的HTTP和HTTPS请求信息,观察Fiddler抓取到的信息。
如果你的Fiddler中没有出现HTTPS类型的这几个页面,说明抓包没有配置好,但是可以抓取到HTTP类型的请求信息,应该是HTTPS的证书配置有误。
目前微信跳一跳游戏中带有session_id的页面有以下几个:
https://mp.weixin.qq.com/wxagame/wxagame_getuserinfo
https://mp.weixin.qq.com/wxagame/wxagame_init
https://mp.weixin.qq.com/wxagame/wxagame_getfriendsscore
在Fiddler中使用快捷键Ctrl+F,在弹出的界面中输入wxagame,点击Find Sessions,Fiddler默认会把包含wxagame这个关键字的请求标成黄色。
这时我们双击其中一个请求,以init为例,然后可以在Fiddler右上角的框中看到此次请求的相关信息。
如果不显示,点击JSON选项卡。此时可以右键在session_id上点击,复制session_id的值,得到seesion_id=abc123… 很长一串这种格式的数据,使用的时候需要等号后面的所有字符串,abc123…,成功拿到session_id。
如果点击图中TextView选项卡,看到的是带引号冒号括号的数据,两种方法看到的数据都是同一个数据,只不过展示格式不一样,此时只需要复制session_id后面那对冒号里面的数据就行了,如图中选中的深蓝底色所示区域。
另外以下样式的sessionID并非正确的sessionID,这是没有解析的HTTPS加密的数据,请勿将此SessionID当成我们所需要的session_id
拿到了session_id,就可以自己使用代码来提交分数,或者到我写的Web版提交工具提交测试:http://java.zhaoxuyang.com/WxTyT/
最后使用完毕记得把手机端WiFi设置里面的HTTP代理还关闭掉,不然Fiddler软件关闭以后手机将无法正常连接到网络。
- 提交成功后分数没有改变,是因为数据还没同步到手机,一般情况下强制结束彻底退出手机上微信的程序,重新进入即可,或者等待数十分钟。
- 请勿将自己的session_id 发送到网络上!一旦被人恶意刷高分导致账号被封,那我也没办法了。。。
时间紧迫赶制难免有疏漏,烦请留言告知。