交流
个人账号,用于在学习过程中技术交流分享,进行不定期更新,可关注作者Github:z0Reverse;CSDN:z0Reverse;52pojie:North886
声明
本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请在公众号【z0Reverse】联系作者立即删除!
逆向目标
-
目标:某APP
-
apk 版本:xxx
-
逆向参数:data
抓包分析
打开 app,在首页进行刷新, 进行抓包,结果如下:
逆向分析
根据数据包可以看到返回的数据也进行加密处理,那么可以思考这个很有可能是采用对称加密或者对称+非对阵组合的方式,我们需要解密返回包中的数据进行一个分析
定位目标点,我一般喜欢通过api去定位,从而找到整个网络请求的一个处理逻辑
打开jadx进行反编译搜索目标api
这个比较简单,直接定位到了api,有的那种动态的或者多层框架嵌套,直接搜索搜不出来是真的gou(不过这种的可以通过hook手段,如果混淆的不是很严重的话是可以打印出来的,再进行判断,有机会的话写一下的)
可以定位到这个函数哈
跳过去看具体的实现
所以我们直接去看这个c方法的实现就可以了
跳到对应的方法中去看直接就发现加密算法的实现
所以我们现在去看下这个str代表的是啥
就是e类的gson方法,传递的参数是a和e类,使用getData方法从中获取数据
查看getData方法
返回的就是响应包中的data,参数列表页对的上
接下来进行解密,可以使用python脚本
结果验证
ok完工,第一篇分析加密的文章,后续整理出来了继续发,xdm原谅重码
原文始发于微信公众号(z0Reverse):某App返回数据包解密
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论