某网站视频加密的wasm略谈(二)

网页反录制

上一篇主要讲的是解密方向,那么这一篇主要讲的就是加密的方向。当逆向解密视频无法进行时,很多人就会选择最直接的方式:【录屏】。托管平台自然也会想到这一点,对反录制也做了不少的工作

随着各家视频托管平台的更新,其重点且核心的加密逻辑都放在了key的二次加密,那么逆向的点就变成了如何将加密的key还原成真实的key。

第一种录制方式

通过最后都有一个共同点,就是都是使用MSE套件进行播放,所有有一些软件就可以通过重写MSE套件的接口函数,来直接dump出解密后的媒体文件。

在v10、v11、v1102版本的加密中,这个方法是完全可行的,我完全不需要知道key是什么,我只要能播放,我就能把视频dump下来,但是当来到v12版本的时候,这种方法就完全失效了。至于为什么,后面会说明。首先来播放一下视频,并查看一下视频窗口的html属性

在这里插入图片描述

令人奇怪的事情出现了,这个居然不是一个video标签,而是一个canvas标签。那么换句话来说,这个不是在播放视频,而是canvas画出来的一帧一帧的图片。

我的天啊,这就很牛X了。他是使用了自己的方法来渲染,而不是使用的MSE套件来播放,这也就是前面说的,为什么说dump这一类的录制方案失效的原因。

这也让我之前两个想不明白的问题一下子就想通了
1.为什么这个版本的wasm体积突然猛增
2.为什么在js中会出现yuv的原始流

问题1的原因是wasm不单止有原来的解密库,同时还封装了视频解码库,对解密后的视频进行解码
问题2的原因自然就是通过yuv的数据来给canvas绘制图片了

第二种录制方式

通过本地录制工具来进行边播边录,但是对于存在自己帐号的浮动水印的时候,这就比较尴尬了。直接录制的话,会把自己的水印录制进去。如果想仅仅去掉水印是没有办法的,因为这个canvas绘制的图片,而不像MSE套件可以仅仅删除某一路流。

在这时来看,反录制的工作做得是比较完美的。但是有盾就会有矛,谁也不知道以后会出现什么技术和工具生成对抗。

网页端加密发展趋势

对于视频的加密:

1.将视频解出多路流,然后在前端分别渲染。那么这样就不存在视频这种说法,而是通过底图、动画。笔迹等同时渲染出来的结果。例如某些站点使用的三分屏

2.将视频或者其他源数据通过自定义的方式在前端渲染,这样也是不存在视频这种说法,以为只有canvas绘制的图片。例如某视频网站的字幕,前面说的v12版本的视频

通过以上两点可以看到,其主要的都是避免使用MSE套件进行直接的播放

对于代码的加密:

1.js层的虚拟机,就是我们常说的jsvmp,目前在字某系列和腾某系列上已经使用的不少,其特点是有一个超级长的字符串,这个字符串保存的其实就是指令集和操作数。
相关文章 某鹅滑块验证码破解笔记

2.c层的虚拟机,就是上面说到的wasm,目前wasm在视频和游戏方面使用的比较多。其中wasm的函数段保存的也是指令集和操作数,通过导入和导出函数来和js层互动

可以看到方向趋势都是在往栈式虚拟机那边走,前端的逆向也会越来越难。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
WebAssembly(Wasm)可以与FFmpeg集成,以在网页中进行视频处理和编解码操作。通过结合Wasm和FFmpeg,您可以在浏览器中实现强大的视频处理功能,如转码、剪辑、水印添加等。 以下是使用Wasm和FFmpeg进行视频处理的一般步骤: 1. 获取FFmpeg的Wasm版本:首先,您需要获取FFmpeg的Wasm版本。有一些项目在GitHub上提供了编译好的Wasm版本,您可以从这些项目中获取FFmpeg的Wasm文件。 2. 加载Wasm模块:将FFmpeg的Wasm文件加载到您的网页中。您可以使用JavaScript的WebAssembly API来加载和实例化Wasm模块。 3. 初始化FFmpeg:在Wasm模块加载完成后,您需要通过调用FFmpeg的初始化函数来初始化FFmpeg环境。这通常涉及到设置输入输出流、注册解码器和编码器等操作。 4. 执行视频处理操作:一旦FFmpeg成功初始化,您可以使用FFmpeg提供的各种函数执行视频处理操作。例如,您可以调用解码函数将视频解码为原始帧数据,然后对帧数据进行处理,最后调用编码函数将处理后的帧数据编码为目标视频格式。 5. 输出处理结果:根据您的需求,您可以将处理后的视频保存到本地文件或直接在网页上播放。 请注意,在使用Wasm和FFmpeg进行视频处理时,考虑到性能和资源的限制是非常重要的。视频处理通常是一项计算密集型任务,可能会对浏览器的性能产生一定的影响。因此,您应该仔细考虑处理的复杂性,并评估在特定设备和浏览器上的性能表现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值