Skip to content

Latest commit

 

History

History
27 lines (18 loc) · 1.22 KB

texture.md

File metadata and controls

27 lines (18 loc) · 1.22 KB

纹理篇

数据还原

API劫持[userscript]

点击查看方案原理

  • v1 已废弃[deprecated]

    • sf平台已开启全局WebGL2上下文渲染模型,V1版本的脚本因为劫持的是WebGL上下文的绘制接口,因此在大多设备上已经失效了
  • v2 适配WebGL&WebGL2

    • 该脚本通过读取网站上的数据进行自动切换绘制上下文进行劫持

总结:该方案无需深入研究纹理的加密过程与原理,直截了当地获取到还原后的纹理信息

数据解析[decode]

计算机中图形界面的本质也是数据,解析数据就是回归根源,该方案不需要依赖浏览器环境,相比API劫持的讨巧方法,数据解析就是直面问题的解决方案。

sf的图片加密方案原理上很简单,利用绘制API对每个像素按照偏移一个值后进行绘制。因此解密原理只要逆向过来即可。

反着偏移量就能还原

思考

为什么加密的纹理需要先还原再去绘制呢?为什么不在绘制的时候再按需解密呢?

  • 解密需要重新绘制切换绘制上下文状态,不方便维护管理
  • 还原出来的纹理需要后处理进行其他操作

后处理