首页
社区
课程
招聘
APP视频解密
发表于: 2022-6-10 02:46 8984

APP视频解密

2022-6-10 02:46
8984

一,工具

jadx

 

Fiddler.exe

二,分析流程

1,播放视频

播放app里视频(因为视频类容属于非法内容,所以打了很多码,请谅解),发现提示需要开通vip。开始抓包

 

CAEKg.jpg

2,抓包(因为数据是https,设备经过处理)

ChUYe.png

 

发现图中url 像是视频地址,获取返回数据

 

ChyXq.png

 

这个应该是加密,只能逆向app

 

ChJyA.png

 

通过搜索关键字发现上面代码,encData是先用AES/CBC/PKCS&Padding加密然后再使用`base64加密,需要寻找token。

 

因为token联想到验证发现请求头Authorization然后通过通过关键字查询发现一下代码

 

通过关键字查阅代码

 

ChfPi.png

 

怀疑token是Authorization,尝试解密,编写代码(token是隐私所以不写出来)运行

1
2
3
4
5
6
7
8
9
10
11
12
13
String encData = "ua6b7wMaDJkIQyVYFEVhykFKqcoCSrnAQrbnBQUJmS6GuAJwr8Qp6HGLiIE9q9qooxgVb/bVMkiVRIqOicXsUdJz9ftYhL0W86T/MIkJ2OODQG1yM1N7uXpIa7Zm6C3aGfTsqyqGwkoJzY6gpGSfLgY3g3NTSygZQcGjo3UqSlAYEbGtUufXG6rLVSBUbLWUFuaiwnifDcDpr47kzIjP6A4zOnxyJYj3iXky+zkbGJwNzsxW04gwr+mu05yFMzIbboQQztaLHTds7O9ZOwBG0FwwtR+OI16SvruzZNQI46VN/0lpNOnRIdXWJ22JwP0v24ULGBz4RSqcBtk4F9efuB2C8xjzrbgm3NGMOWgKdXDa8U02jDfmmMjrQO6weM2MQ8SfDTKZTg9O7auUOIgRij/qOoiUkfKN5prGkFWVpZJxhdSjSRZjLc7pjQnm0C4IZsecZYYgJ14pXrHc5nVuSSdkxQDwzTkNltuIDixy/OxWL4Yct92wpgY3MUSc5UZW/O1g53LSkQsSabt0WMHPJb7qbWSLb19TNUnLBszuxpGLCjQ5Bl4KNrjrWgRDGQT0eI83NxDsuBs2P+sgWL7gQPwoXEtHGnGtt7tWhxPanEhF827erO1OxNLvozQIew701w4dTGqeUjWL3+BGG3ZGXeDQKwBREUPWq723rmDiu5Mj9HNF27UA48ub5A4ScgTzomz81Z8q/ZcBi+QNAbgrcKW88u2sX6yafmjSYY/OApVyGFj9cgTSxmhYyKEGo+xcaJ7q5RMwPyRp11RqLMYV9vKXY0Q5eZ/tWE7Y8bJkCI2IREsQ3/eUAHVdoNQyeOzuZyFi7eI7AkhZAvCkceJSatWzke4UIMMcVDB/A6vWpC3X6E954IIeHbOb00cQNoUUMBw5q+nl+CY5qjiANE/p36wPNeIxBV92U1BduviZvx8N3SckF/73l7uE6JGNaJJpul1jUkolMxtsnRvffnV8EwFKNEzujvzRWNrwWKsg41a2Y12h+kL/BeRtRdCKub/BdMojn8Wd6o5xPDduGXlpLg==";
String token = "这是token";
try {
    String substring = token.substring(2, 18);
    SecretKeySpec secretKeySpec = new SecretKeySpec(substring.getBytes("UTF-8"), "AES");
    Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding ");
    cipher.init(2, secretKeySpec, new IvParameterSpec(substring.getBytes()));
    String str = new String(cipher.doFinal(Base64.getDecoder().decode(encData)));
    System.out.println(str);
} catch (Exception e) {
    //TODO: handle exception
    System.out.println(e);
}

ChCMT.png

 

生成字符串观察为json,优化一下并且发现m3u8地址,这个是视频地址,访问地址获取m3u8文件,previewurl为展示视频地址,videourl为完整视频地址,

 

"http://domain/enc.key"为假的key,文件AES加密,需要寻找key

 

ChRGX.png

 

查阅代码寻找关键字发现key是在本地

 

ChYlZ.png

 

image-20220610021844417

 

ChTOC.png

 

发现上面二个文件 查看一下

 

Chcxg.png

 

kb文件就是key

 

使用开源工具N_m3u8DL-CLI尝试解密,解密完成

 

Chwh1.png

3分析请求头

解密视频后需要分析往上层分析

 

ChfPi.png

 

因为抓包时发现请求头t``s参数会变化都不一样,通过分析t为时间戳

 

ChrAv.png

 

st的某段数据数据的md5加密

上层更简单简单抓包就可以发现api,不做叙述。

样本是违法的,所以不会发出来的


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

最后于 2022-6-10 15:16 被xww2652008编辑 ,原因:
收藏
免费 5
支持
分享
最新回复 (10)
雪    币: 50
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
赞一个.可以分享一下样本吗
2022-6-10 07:43
0
雪    币: 334
活跃值: (392)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
优秀
2022-6-10 08:44
0
雪    币: 129
活跃值: (4485)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
热爱学习的我想求一份样本
2022-6-10 09:39
0
雪    币: 9
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
赞一个.可以分享一下样本吗
2022-6-10 12:30
0
雪    币: 12502
活跃值: (3053)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
我不信,除非你把做好的软件给我看看。
2022-6-10 14:58
0
雪    币: 24
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
yangshuang 赞一个.可以分享一下样本吗
样本是违法的所以,不会发出来的
2022-6-10 15:13
0
雪    币: 2089
活跃值: (3933)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8

有涩涩软件请务必分享给大家,谢谢!

最后于 2022-6-11 16:58 被lhxdiao编辑 ,原因:
2022-6-11 16:58
0
雪    币: 8
活跃值: (519)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
太牛了大佬,麻烦上一下样本相跟着你的步骤学习下
2022-6-24 17:15
0
雪    币: 539
活跃值: (92)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
我赞同楼上的
2022-6-24 23:56
0
雪    币: 429
活跃值: (423)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
已经漏点了URL地址
2022-6-25 02:24
0
游客
登录 | 注册 方可回帖
返回
//