首页
社区
课程
招聘
[原创]一个视频APP的破解,从逆向看代码安全
发表于: 2019-12-25 17:40 11982

[原创]一个视频APP的破解,从逆向看代码安全

2019-12-25 17:40
11982

发现一个视频APP,觉得片源不错,想下载下来看看,首先想到的就是用flidder或者anyproxy

这里使用anyproxy,因为可以二次开发。

但是抓取完后,发现数据全是加密的



既然加密,那就没办法,必须去反编译,看看怎么加密

解压APK后,发现居然是360加壳的。先脱壳

网上很多脱壳方法,exposed+fdex2是不错的。解压出来是:



虽然dex都dump出来了,但发现有一个dex没法打开。用010修改一下文件头就可以用了。


使用jd-gui开始分析。接口加密,当然就很容易找到request相关的类







从以上代码发现:

APP随机生成一个aesKey,然后再用RAS加密一次得到key,用aesKey进行AES/CBC/PKCS7Padding加密得到body。

虽然在接口里,能看到加密后的key,但是因为RSA是不对称加密,本地也没有存储私钥,因此本地也就无法解密,无法查看到原始加密字符串是什么。



[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 2
支持
分享
最新回复 (10)
雪    币: 2155
活跃值: (4532)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
安全的重心还是要放在服务器,客户端因为源码在用户手里,完全不可相信。
2019-12-25 22:39
0
雪    币: 158
活跃值: (755)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这种协议只要放在客户端基本都能逆出来  除非加一些风控等
2019-12-26 13:02
1
雪    币: 3836
活跃值: (4142)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
支持喽
2019-12-26 17:20
0
雪    币: 195
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
“用010修改一下文件头就可以用了”大佬这个是什么意思啊或者有什么学习资源吗,最近学习逆向,也有好几个dex文件打不开。
2020-1-11 15:38
0
雪    币: 183
活跃值: (228)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
cjc_handsome “用010修改一下文件头就可以用了”大佬这个是什么意思啊或者有什么学习资源吗,最近学习逆向,也有好几个dex文件打不开。
先下载010,用010打开正常的dex,再看你不正常的dex。一般就是文件的头4-8个字节
2020-1-13 15:27
0
雪    币: 183
活跃值: (228)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
Mars. 这种协议只要放在客户端基本都能逆出来 除非加一些风控等
对的,只有服务端的风控,才是最终防线
2020-1-13 15:28
0
雪    币: 195
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
eviliori 先下载010,用010打开正常的dex,再看你不正常的dex。一般就是文件的头4-8个字节
感谢果然成功了,之前就用notepad打开过dex发现头几个字符不对,试着改成和可以打开的一样的,结果还是不行。原来用010就可以了,再次感谢。
2020-1-13 18:56
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
9
小黄鸭爱学习 安全的重心还是要放在服务器,客户端因为源码在用户手里,完全不可相信。
像这种加解密怎么放到服务端,客户端总会有算法吧
2020-2-6 17:49
0
雪    币: 183
活跃值: (228)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
开心张大炮 像这种加解密怎么放到服务端,客户端总会有算法吧
服务端可以做风控啊,同一个用户不能请求太多,等等
客户端加密只是增加了难度而已,方法肯定是有的
2021-3-3 16:09
0
雪    币: 132
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
学习了,很有收获!谢谢!
2021-3-4 12:16
0
游客
登录 | 注册 方可回帖
返回
//