赞
踩
大家好,我是阿爬!这里是讲述阿爬和阿三爬虫故事的爬友圈
本期阿爬继续逆向电商平台,学习学习反爬技术;通过实践掌握一个绕过frida检测的小技巧(没有检验其它app是否可以,本次逆向的app是可以绕过的)。
一、初步分析
1、抓包分析
抓包工具依然使用VPN+Charles抓包,抓包过程没有什么阻碍,拿到一个鞋类数据列表接口,首先分析一下参数(qingqiu)
通过多个接口发现路由参数有token和timestamp是变化的,再看请求头部分
图中圈出来的就本期追踪的参数,还有sh-开头的几个参数也是变化的;变化参数分析完毕,再看有其它反爬手段没有
2、反爬点
A、从抓包分析知道了参数加密的反爬手段。
B、frida检测,在进行hook操作时发现app会闪退,由于自己是12.8版本的frida,没有用其它frida,所以无意间断网后注入frida-server成功绕过了frida检测,此方法其它app没有试过。
C、代码混淆,刚开始查看代码时还感觉挺正常的,跟踪到核心位置时就出现了混淆,相对而言阅读分析起来有点耗时间
二、实际算法追踪
1、Token参数
首先是参数中的token,由于用jadx反编译后会有很多代码,在全局搜索token是有很多类似的,于是根据经验结合hook定位到入口函数
跟进b函数最后来到一个native函数b是Java层真实调用处,直接hook此函数可以拿到结果和相关参数
2、shreqid、sh_session、sk参数
以上三个参数在全局搜索时发现在同一个函数中,于是很快定位到函数入口
剩下就只需要跟踪相关函数,首先看shreqid入口函数
其中的V方法会里会嵌套多个方法的调用,最终会来到一个MD5加密的方法(此处就不贴图了),此参数算法是纯Java代码,耐心一下完全可以还原。
再看sh_session、sk参数,两个参数的入口函数在同一个类中,两个参数的入口函数分别是
跟进里面同样是多层函数嵌套,跟到关键点会有混淆代码,最后还是走的native层,此处就不在多贴图,至此本期分析的参数Java层逆向也完成,最后贴一下hook到的参数结果图,是和抓包结果相同
token参数
Shreqid参数
sh_session参数
sk参数
三、总结
本期主要做了部分反爬点的突破,断网绕过frida检测的小技巧不知道其它app是否有效,在正规处理中可以使用自编译版本来绕过,再深度一点就需要定位具体检测frida什么特征,再根据情况做处理,本期app检测frida的特征应该是很少的,所以才会轻松绕过。剩下的参数我们下期再聊
欢迎大家评论区留言,关注阿爬了解更多爬虫故事!
特别声明:本文章只作为学术研究,不作为其他不法用途;如有侵权请联系作者删除。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。