|
拿到app,国际惯例,查无壳,抓取抽奖的请求,
POST https://***.******.com/nivote/index.php/front/getwin HTTP/1.1
Host: ***.******.com
Connection: keep-alive
Content-Length: 165
Accept: application/json, text/plain, */*
Origin: https://app.***.******
User-Agent: Mozilla/5.0 (Linux; Android 6.0.1; 1605-A01 Build/MMB29M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/59.0.3071.82 Mobile Safari/537.36/******/2.7.0
Content-Type: application/x-www-form-urlencoded
Referer: https://***.******.com/nivote/shake/index.html
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,en-US;q=0.8
Cookie: PHPSESSID=abcdedflksidjfldkfjsl;
X-Requested-With: com.***.******
timestamp=1531043594337&randomStr=HTZ4o1&active_id=204&mall_no=4401A002&token=c9acdde01a7544ad9dd5f6a47c69c092&lat_e=&long_e=&verify=436564f83d21b0045f2fae26cdeaf419
嗯,很顺利,似乎除了一个类似sign的 verify,没有其它需要分析的东西。
抽奖页面
第一感觉,就像是WebView,但它没壳子,还是先去反编译查看了一遍。。没什么有价值的线索,还是架锅,进行WebView调试吧。。
但调试WebView的条件是需要app启用WebView调试,开启了它,才能使用Chrome DevTools才能对WebView进行远程调试
WebView.setWebContentsDebuggingEnabled(true);
开玩笑,人家写好的app,怎么可能开调试给你玩。
好吧,这里我们使用大牛造好的轮子,Xposed插件,WebviewDebugHook ,安装到手机,激活并重启手机。
打开WebView调试
好了,准备就绪,打开Chrome,地址栏中输入chrome://inspect/#devices,哈哈,果然看到了摇一摇页面,点击inspect
这时,Chrome会为我们再次打开一个调试页面,verify的值,看起来就像md5,那就直接搜索md5吧
果然一路顺风顺水,来到了这个js页面。看到这段代码,就明白,果然猜的没错,
按照红框处拼装原文,加上salt(这里隐去了部分salt,毕竟只是学习练手,不是为了搞破坏),进行验证,与抓到请求中的verify值一致。
到这里整个折腾过程愉快地结束。其实对于经常玩js的朋友来说,没啥难度,
最难的地方在于,怎么打开WebView 调试,还好,有全能的Xposed。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|