【记录】某网站js逆向与m3u8解密

查看 131|回复 11
作者:漁滒   
今天在浏览网页的时候发现一个网站提供m3u8内容的加密,其主要宣传如下图。


QQ截图20200901160810.jpg (78.26 KB, 下载次数: 3)
下载附件
2020-9-1 16:08 上传

看起来非常的厉害,主要是能够防嗅探防下载防合成。下面给出了样品视频,点进去初步尝试逆向一下
打开浏览器F12,刷新页面开始抓包。发现其中的m3u8内容确实是被加密了,如下图


QQ截图20200901160810.jpg (13.27 KB, 下载次数: 1)
下载附件
2020-9-1 16:13 上传

看到内容有点像base64编码,但又有base64编码不存在的字符。但是最后两个字符是【==】,这个是base64编码的填充,那么说明很有可能就是base64编码
那么其中不存在的字符就是替换掉了,那么浏览器播放的时候一定要将正确的内容替换回来,再进行base64解码,得到m3u8文本。那么此时可以从js的replace方法入手
在全局中搜索replace,发现有4个js文件有,那么就将这4个js文件下载到本地


QQ截图20200901160810.jpg (88.74 KB, 下载次数: 1)
下载附件
2020-9-1 16:21 上传

下载完成后打开全部4个js文件,然后搜索【replace(/\(/】,为什么搜索这个呢?观看加密的m3u8内容里面,有很多特殊的符号,其中就包含【(】,而在js中replace方法传入的是正则表达式,其中【(】是一个特殊字符,在正表达式中有特殊含义,如需要匹配自身,则需要在前面增加转义字符【\(】


QQ截图20200901160810.jpg (257.93 KB, 下载次数: 1)
下载附件
2020-9-1 16:28 上传

只有一个内容,那么就可以关闭其他三个js,然后格式化这个搜索到的js文件,找到搜索到的内容,可以看到以下js代码
[JavaScript] 纯文本查看 复制代码s.h2dehlsdata = function(data) {
                var data = data.replace(/\//g, "B");
                data = data.replace(/_/g, "A");
                data = data.replace(/-/g, "h");
                data = data.replace(/\*/g, "I");
                data = data.replace(/!/g, "N");
                data = data.replace(/@/g, "O");
                data = data.replace(/\(/g, "s");
                data = data.replace(/\)/g, "X");
                data = this.base64_decode(data);
                return data
            }
这里可以很清楚的看到哪些字符被替换掉了
用python请求m3u8然后还原内容,再写出m3u8给其他下载器下载


QQ截图20200901160810.jpg (58.76 KB, 下载次数: 1)
下载附件
2020-9-1 16:33 上传

耐心等待下载完成


1.mp4_20200901_163456.503.jpg (390.1 KB, 下载次数: 1)
下载附件
2020-9-1 16:35 上传

视频全片正常播放,解密完成

下载次数, 内容

king82   

说实话,我只知道原理
就是这句话  那么其中不存在的字符就是替换掉了,那么浏览器播放的时候一定要将正确的内容替换回来,再进行base64解码,得到m3u8文本
但是后面怎么弄,就歇菜了。完全不懂代码和编程,哈哈。
manan9629   


慵懒丶L先森 发表于 2020-9-1 17:03
全文思路清晰,涉及浏览器开发者人员工具的基础使用、字符解密、正则表达式的知识。关于base64解密那一块又 ...

抖个机灵啊
wakichie   

大佬牛逼啊
star321123   

秀了一波技术
慵懒丶L先森   

全文思路清晰,涉及浏览器开发者人员工具的基础使用、字符解密、正则表达式的知识。关于base64解密那一块又学到了,感谢分享宝贵经验
大鸽鸽   

js逆向路 任重而道远
漫漫长昼   

替换下字符就能绕过,这未免也太...
simon21   

哦。原来我还差1个js的格式化工具!~难怪有时候找到很多有用无用的东西。。。
OVVO   

m3u8的演示页面看看
您需要登录后才可以回帖 登录 | 立即注册

返回顶部