写在前面的话
今天分享另一个app逆向的实战 如果觉得对你有用,还请关注下公众号,后续会有更多的实战教学篇,以免错过噢! 话不多说,进入正题,开搞
抓包
国际惯例,先用 fiddler 抓包
分析请求参数,可以看到,手机号码以及密码都是加密的
请求
响应
app反编译
使用 jadx 直接打开 apk 文件
jadx
对抓包和反编译不熟悉的朋友,还请查看以前的文章,里面有详细的介绍!
参数搜索
点击菜单栏上面那个放大镜的图标,然后✔代码选项,根据抓包的请求参数,去搜索加密的源码
搜索界面
有时候某个参数搜索出来的结果很多,
我们可以换其他参数去搜索,或者给参数加上双引号来搜索,这样可以减少干扰项
下面是我搜索出来的加密源码
加密源码
加密源码
破解
根据源码中参数的加密方式,使用 python 代码来生成。
可以看到是 RSA/ECB/PKCS1Padding 加密,密匙使用了base64加密
然后再将 RSA 加密的结果再进行base64加密
在python中可以使用 pycryptodome 模块来实现 AES加密
有些源码看不懂没关系,多尝试,多查下 java 的用法,还有就是多问!
验证
登录验证
抓包的响应
上面是使用 Python 代码模拟登录结果和 fiddler 抓包的响应结果
从两者的结果比较中我们可以看到:
code 都是为 0,登录后的 token_onlie 的结果是一致
说明登录成功了,加密参数也破解了!