声明
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!由于本人水平有限,如有理解或者描述不准确的地方,还望各位大佬指教!!
前言
今天我们要分析的app是豆瓣,版本号7.26.0。记得自己的第一个爬虫程序就是爬取web端的豆瓣电影top250,当时对着代码一个一个敲出来,看到爬取成功成就感油然而生。随着技术的成长,web端的爬虫已经很难再有突破了,所以最近在学习安卓逆向,从上个星期什么都不懂到现在跌跌撞撞能分析出豆瓣的sign签名,还是很有收获的。写这篇文章记录分析流程,也记录自己在app端成长的过程。
抓包
准备工具:抓包工具fiddler,一台真机或者模拟器,jadx反编译工具。
第一步进行抓包分析。通过抓包发现_sig是加密的,而这个_sig应该经过base64编码。
其他参数udid应该是用户id为固定值,apikey,device_id和apple应该是当前设备参数信息可以直接固定。
反编译apk
找到加密参数_sig,接下来就是反编译apk。我们使用jadx对apk进行反编译。直接通过搜索"_sig"关键字,定位到加密代码处,如下图。
找到包含_sig的代码不是很多,我们可以一个一个的看,这里根据选择题定律选择最长的(学渣专用方法),点进去可以看到"_sig"参数是a4.first的方法返回的,具体是干嘛的不知道,不过不要紧,继续跟进发现a4是Pair<String