☰
首页
/
微信视频号视频解密算法详解
目录
微信视频号视频解密算法详解
概述
核心参数
算法流程总览
一、Mix 函数 — `mix(a, b, c, d, e, f, g, h)`
数学描述
操作模式
移位参数一览
性质
二、RandCtx64 — ISAAC 变体伪随机数生成器
状态变量
三、初始化过程 — `rand64_init(enc_key)`
3.1 Golden Ratio 初始化
3.2 写入密钥
3.3 预热阶段 — 4 轮空 mix
3.4 第一轮搅乱 — `_process_pass` 使用 Seed
3.5 第二轮搅乱 — `_process_pass` 使用 MM
3.6 初始化结束 — 首次调用 `is_aac64()`
四、随机数生成 — `is_aac64()`
算法步骤
AA 更新规则的数学意义
与原始 ISAAC 的差异
五、获取随机数 — `is_aac_random()`
六、解密过程 — `decrypt(data, enc_len, key)`
输入
算法步骤
关键细节
七、实际使用示例
7.1 直接解密(覆盖原文件)
video_path: 加密视频文件路径
decode_key: 字符串形式的十进解密密钥
7.2 创建解密副本(保留原文件)
自动生成 video_decrypted.mp4
或指定输出路径
7.3 分步解密(用于理解流程)
八、用其他语言实现的注意事项
8.1 64 位无符号整数溢出
8.2 右移必须是无符号右移
8.3 按位取反
8.4 大端序字节序
8.5 数据类型参考
九、算法安全性分析
十、完整流程图
附录:Mix 函数的逆函数(用于加密)