本帖最后由 闷骚小贱男 于 2021-6-27 11:06 编辑
故事的由来
图片看到有人在推广所谓的"不花钱"APP(但是实际上并不是免费)
下载了试了试,如果都一个样的APP
不过这个APP稍微简单点。。几秒就定位到了
【健康生活,远离黄赌毒】
工具
1.jadx(或者MT/NP)
2.小黄鸟HttpCanary(因为FD没抓到请求,只抓到直播连接,但是小黄鸟全部抓到了,所以用小黄鸟)
步骤
列表抓包(getVideoList)
在FD中抓到直播连接为HTTP://XX.XX.XXX/XXX.FLV?AUTH_KEY=XXX的格式
返回的参数有:title/liveimage/nplayFlv等
title |
标题 |
liveimage |
直播封面图片 |
nplayFlv |
疑似Flv直播地址的AES密文 |
userid |
播主id |
liveFree |
是否免费类型 |
hostName |
播主名 |
反编译
jadx(MT/NP)搜索nplayFlv,得到
竟然直接找到了com.AA.BB.ui.activity.room.RoomMainActivity类
AESUtil.decrypt(this.recordsDTO.getNPlayFlv(), "qwertyui12345678");
看一下这个AESUtil.decrypt
public static String decrypt(String str, String str2) {
try {
byte[] decode = Base64.decode(str, 0);
SecretKeySpec secretKeySpec = new SecretKeySpec(str2.getBytes("UTF-8"), "AES");
Cipher instance = Cipher.getInstance("AES/ECB/PKCS5Padding");
instance.init(2, secretKeySpec);
byte[] doFinal = instance.doFinal(decode);
if (doFinal != null) {
return new String(doFinal, "UTF-8");
}
return null;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
所以可得加密模式为AES/ECB/PKCS5Padding,key为qwertyui12345678
加密模式 |
key |
AES/ECB/PKCS5Padding |
qwertyui12345678 |
然后复制一段nplayFlv尝试下解密
成功解密,说明之前的key是正确的
结案
AES/ECB/PKCS5Padding,key为qwertyui12345678
易语言拉取所有直播间信息
FLV直播,可在QQ影音中播放
包括收费直播间在内,均可抓到地址
|