本帖最后由 flush 于 2023-4-27 13:27 编辑
好久没来,论坛都变样了,先送一篇原创给版主。图片无法上传,只能上传到图床了。废话不多说,直接上。 首先,我们拿到一个样本后,肯定是先抓包,我们来抓一下该App的请求。需要注意的是,百度为了规避版权,新用户和相关地区是无法观看完整版的视频,哈哈。
以“狂飙”为例,第八集: 1.上手抓包,定位到"https://appvideo.xiaodutv.com/xqsingle/?worktype=adnativetvplay&tag=huajiao_index&id=33958......."链接 
我们来看下第八集的返回内容是什么,关注"video_stream"值。此处必然是加密的值,否则白搞这么些策略了。形如“J@KapFiYy6vhvJQt2%jdVf85ffTdmFtrmV0fKzImMFkWfJ。。。。。。。”相关的字符串。
2.App脱壳,现在稍微带敏的app肯定都加固或者套个壳子,直接脱壳(脱壳过程跳过)定位到相关的函数 3.decode函数是Jni方式调用,不用多说,直接分析so库。去lib中到libvideo_decrypt.so库后,我们来逆向一下so库
可以定位到 video_decrypt函数,此处就是video_stream解密的核心,只需要还原相关算法即可。 好了,还原后,直接解密就可以啦,还是很简单的。 |