iOS下抓取微信跳一跳小游戏的session_id值

原文:iOS下抓取微信跳一跳小游戏的session_id值

一、安装Fiddler抓包工具并配置

点击Tools->Options…:

Option

勾选上HTTPS和Connection选项卡里面的对勾,如图所示:

HTTPS_SETTING

Allow_remote_connect

配置完毕需要重启Fiddler。

二、配置手机端

iPhone须和抓包的PC机在同一个网络里,我这里测试时的iPhone系统版本是iOS 10.3.1。

先查看Fiddler软件所在的PC机IP地址并记下,如图所示,我是 192.168.123.48,你的和我的肯定不一样,如果一样而你又是妹子的话,请加我微信。

PC

记下如图所示的地址,然后再打开iPhone,找到WiFi设置,点击 i 图标,进入WiFi详细设置。

WiFi1-1-169x300

设置HTTP代理为手动,服务器为PC机的IP地址,端口为8888(8888为Fiddler安装后的默认抓包监听端口)

WiFi2-169x300

设置好以后,从Safari浏览器里输入地址 192.168.123.48:8888,即你的PC机 IP地址+英文冒号+端口号8888

TIM%E6%88%AA%E5%9B%BE20180102011009

回车访问到如下界面,点击FiddlerRoot certificate 安装Fiddler证书

IMG_2299-577x1024

IMG_2302-169x300 IMG_2303-169x300

接下来还有重要很重要的一步,如果不设置将会无法抓取到HTTPS的包。

点击设置->关于本机->证书信任设置->进入证书信任设置,把DO_NOT_TRUST_FiddlerRoot的这个选项给打开,基于安全的考虑,建议自己使用抓包完以后仍旧关闭此选项。

IMG_2304-169x300IMG_2305-169x300

IMG_2306-169x300
IMG_2307-169x300

三、打开Fiddler,准备抓包。

此时建议关闭浏览器中的不必要页面,以免抓取到太多非微信小游戏的请求信息影响判断。

打开微信的跳一跳小游戏,正常情况下此时Fiddler应该会抓取到一条一条的HTTP和HTTPS请求信息,观察Fiddler抓取到的信息。

如果你的Fiddler中没有出现HTTPS类型的这几个页面,说明抓包没有配置好,但是可以抓取到HTTP类型的请求信息,应该是HTTPS的证书配置有误。

tyt-fidder

目前微信跳一跳游戏中带有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这个关键字的请求标成黄色。

find_wxagame

TIM%E6%88%AA%E5%9B%BE20180104022943

这时我们双击其中一个请求,以init为例,然后可以在Fiddler右上角的框中看到此次请求的相关信息。

yellow_session_id-2

如果不显示,点击JSON选项卡。此时可以右键在session_id上点击,复制session_id的值,得到seesion_id=abc123… 很长一串这种格式的数据,使用的时候需要等号后面的所有字符串,abc123…,成功拿到session_id。

TIM%E6%88%AA%E5%9B%BE20180102003740

如果点击图中TextView选项卡,看到的是带引号冒号括号的数据,两种方法看到的数据都是同一个数据,只不过展示格式不一样,此时只需要复制session_id后面那对冒号里面的数据就行了,如图中选中的深蓝底色所示区域。

session_id_copy-1

另外以下样式的sessionID并非正确的sessionID,这是没有解析的HTTPS加密的数据,请勿将此SessionID当成我们所需要的session_id

session_id_error

拿到了session_id,就可以自己使用代码来提交分数,或者到我写的Web版提交工具提交测试:http://java.zhaoxuyang.com/WxTyT/

最后使用完毕记得把手机端WiFi设置里面的HTTP代理还关闭掉,不然Fiddler软件关闭以后手机将无法正常连接到网络。

  1. 提交成功后分数没有改变,是因为数据还没同步到手机,一般情况下强制结束彻底退出手机上微信的程序,重新进入即可,或者等待数十分钟。
  2. 请勿将自己的session_id 发送到网络上!一旦被人恶意刷高分导致账号被封,那我也没办法了。。。

时间紧迫赶制难免有疏漏,烦请留言告知。


关注我

我的微信公众号:前端开发博客,在后台回复以下关键字可以获取资源。

  • 回复「小抄」,领取Vue、JavaScript 和 WebComponent 小抄 PDF
  • 回复「Vue脑图」获取 Vue 相关脑图
  • 回复「思维图」获取 JavaScript 相关思维图
  • 回复「简历」获取简历制作建议
  • 回复「简历模板」获取精选的简历模板
  • 回复「加群」进入500人前端精英群
  • 回复「电子书」下载我整理的大量前端资源,含面试、Vue实战项目、CSS和JavaScript电子书等。
  • 回复「知识点」下载高清JavaScript知识点图谱

每日分享有用的前端开发知识,加我微信:caibaojian89 交流