一个奇怪的native so的加密参数分析
本帖最后由 hpp0hpp 于 2022-2-14 15:52 编辑最近碰到一个视频应用,有个so很奇怪,
这个apk的基本原理是,首先利用这个pp_hls.so,提供加密参数,永load函数获取到本地端口号
拿到视频m3u8地址, 然后加上127.0.0.1:端口号/resource.m3u8?src=视频地址.
so拿到视频地址后会加上加密参数wsSecret 去请求网络资源. 没有加密参数请求会redirect到一个默认地址.
奇怪点是这个so没有任何的load函数,甚至在unidbg加载后都找不到这个load函数.
IDA打开全是乱码函数
完全无从下手,也找不到哪里是处理网络请求的.
有大佬帮忙看看嘛?
https://ajk.lanzout.com/b00vb1lrc
密码:4sie 15756164844 发表于 2022-2-20 16:37
这个是某草视频吧 本地调用这个so 总是返回-1不知道老哥你研究出没
就是个md5, 不过他们的加密视频只能用这个so代{过}{滤}理来播放. 其他的播放器不支持这种加密方式 涛之雨 发表于 2022-2-14 16:09
看截图应该是混淆了,可以尝试动态调试?
静态的话,看一下导出的函数列表,有没有java_xx这种
用Unidbg加载后,jni_load过后,也没找到对应的函数.
着实无从下手,更何况是从网络请求时开始加密 本帖最后由 涛之雨 于 2022-2-14 16:10 编辑
看截图应该是混淆了,可以尝试动态调试?
静态的话,看一下导出的函数列表,有没有java_xx这种
如果没有的话也可能是JNI_onload里动态绑定的,
可以尝试用frida去hook一下找堆栈(之类的) 函数名明显有混淆了。init或者initarray等时机都有可能出现解密 漁滒 发表于 2022-2-14 21:13
函数名明显有混淆了。init或者initarray等时机都有可能出现解密
没有init或者initarray, 用unidbg加载了Jni_onload后也没有发现对应的函数 有没有大佬感兴趣看一看吗? 这个是某草视频吧 本地调用这个so 总是返回-1不知道老哥你研究出没 本帖最后由 15756164844 于 2022-4-2 14:14 编辑
研究出来了嘛 15756164844 发表于 2022-4-2 12:37
研究出来了嘛
研究出来了, 只能利用人家的so来设代{过}{滤}理了
页:
[1]
2