转载自:http://appscan.io/discover-discuss.html?id=1123859495
改分关键步骤:
- 电脑安装抓包软件,手机设置https代理到电脑
- 通过抓包软件,抓包拿到微信的sesseion_id
- 将sesseion_id写入改分脚本,提交改分请求
详细教程
(1)部署代理环境(mac环境)
mac下选用charles作为抓包代理软件(https://www.charlesproxy.com/)
,windows用户可以用fiddler(https://www.telerik.com/fiddler)
。
安装好后运行起来,查看本机IP地址,以及软件提供的远程代理端口号:
charles的顶部菜单Proxy->Proxy settings
将手机接入与电脑同一个局域网的wifi,然后在wifi的代理设置中,选择手动指定代理,代理服务器为电脑的ip及代理软件提供的端口号(如图中的8888)。
电脑端会提示是否运行远程接入,点allow即可。
设置好了以后可以尝试浏览器打开baidu.com,如果可以正常打开,并且在抓包软件中可以看到请求记录就完成了手机的代理设置。
由于是https的请求,需要在手机端安装证书才可以解密请求,电脑需要安装charles的证书:
然后在钥匙串中信任该证书:
iOS安装证书可通过手机浏览器安装,手机浏览器访问http://chls.pro/ssl,点继续访问此网站,会提示安装证书
iOS 10.3以上的系统版本,需要在 设置→通用→关于本机→证书信任设置 里面启用完全信任Charles证书。
配置好证书后可以打开https://baidu.com
看看是否能解开百度的首页源代码。
(2)获取session id
https配置完毕后,打开微信的跳一跳小程序,就可以看到抓包历史有一个带有session id的请求:https://mp.weixin.qq.com/wxagame/wxagame_init
在request部分就可以复制到session_id了。
(3)将sesseion_id写入改分脚本,提交改分请求
目前开源的脚本是nodejs写的,git地址:https://gist.github.com/feix/6dd1f62a54c5efa10f1e1c24f8efc417
具体的步骤:
新建个目录,比如:wxt1t,然后将脚本源码保存到这里,比如hack.js。
然后安装nodejs,可以通过官网下载安装包安装:https://nodejs.org/en/
然后在命令行cd到当前项目文件夹(wct1t),运行:
npm init --y
npm install crypto-js request-promise
然后用文本编辑器打开hack.js,修改里面的score(分数)和session_id变量的值即可。
命令行运行node hack.js,出现2018! Happy new year! ��就代表成功了。