写在前面
因为要写这个项目自动打卡机器人,需要对我i科大抓包分析,因此记录一下
踩坑过程
在刚开始时踩了很多坑,从模拟器到真机,用FD到frida...
安卓版本太高无法抓包
因为我的手机是安卓12版本,各种抓包软件都是说需要root才能抓包,所以这条路直接放弃
安卓模拟器
真机不行自然想到模拟器抓包
雷电4
雷电4模拟器是安卓7.0版本,我一般对模拟器抓包都是用FD代理抓包,但是各种配置完成之后却抓不到。
然后我查了官方论坛,官方的解释是因为对内核的修改导致的
于是我转战3.0版本,但是3.0版本我i科大貌似对模拟器的环境不支持,或者模拟器环境缺少了必要的东西,会有以下情况
一直加载...
无计可施的情况下,我想到了frida这个工具,虽然对安卓逆向不是很了解,但是我多少听说过这个工具,于是打算用frida对雷电4进行抓包
frida+雷电4
frida hook抓包例子
参考了这个文章,我开始了对frida的研究
抓包脚本我使用的是r0captureGitHub上可以搜索到这个项目
经过一天的研究,总有能正常抓包的时候,我又遇到了问题。
虽然雷电4能加载出各个服务,但是报平安功能进去却是一片空白...
于是转战frida+真机进行抓包
frida+真机
真机在开启frida-server时需要权限,也就是root
我就找了之前的旧手机刷root,折腾半天之后,旧手机是安卓6,r0capture只能7以上
我直接裂开
fd+真机
于是我又想到了这个,通过电脑开热点,手机代理的方法,成功抓到了登录以及上报的包
分析与逆向
从登录包中可以找到一个deviceId字段,看字面意思就是一个设备id,但是很短像是只进行了签名,并不能再解密
以防万一,我又逆向了我i科大app
使用AndroidKiller进行逆向之后,并不是很确定的找到了一个关于deviceId计算
很容易看到这里进行了MD5运算,但是很容易想到,这里的deviceId是24位,md5是32位,所有应该不是这里。(我太菜了,找不到)
然后我随便改了几位发现依旧能获取到正确的token,证明猜想没问题。
后边的上报的包也没加密,就不用分析了。
总结
(安卓逆向有时间还是要学一学,不然用的时候真不会)