首页 > 其他分享 >JS逆向 -- 某视频vurl值的加密分析

JS逆向 -- 某视频vurl值的加密分析

时间:2023-05-19 19:32:17浏览次数:51  
标签:分析 加密 vkey -- vurl JS ckey Ur

接上节课内容

JS逆向 -- 某视频vid值的加密分析

JS逆向 -- 某视频val值和pid值的加密分析

一、在上节课中有个vurl的值需要分析,具体内容如下

vurl: https://mp4play-hs-cdn.ysp.cctv.cn/o000017kuww.jbZe10002.mp4?
sdtfrom=4330701&
guid=lhsuf6ia_0rieucpidpbc&
vkey=617E34BF5E31E049771ADBD86C9D1696991F00C1E06226E19563CCBB5D3838E9BE72C6E719D3D8212A452A328EEAC72BE938573F99156176F8418B5004D80CB68E72D75954BB8AAED2BD09278CB69F5CAE8F1AB485487F1B1204E4AC04CC8C7738F7D5BF59CBDFCA79F50202DD8FB0B7E7B26F38E6C27B5073C94C960B55AD6D&
platform=2

二、多次抓包分析,vkey和platform是变化的,其他的不变

1、分析vkey参数,全局搜索vkey:,出现在一个playinfo的数据包

JS逆向 -- 某视频vurl值的加密分析_抓包

2、playinfo数据包又提交的一大堆参数

JS逆向 -- 某视频vurl值的加密分析_bc_02

3、多次抓包对比发现vid、flowid、ckey是变化的,vid前面我们已经找到,flowid就是之前的pid,所以我们只需要分析ckey值

4、全局搜索ckey,在关键处下断,刷新页面,断了下来,

JS逆向 -- 某视频vurl值的加密分析_全局搜索_03

5、进入该函数,单步跟踪,该函数返回了ckey的值

JS逆向 -- 某视频vurl值的加密分析_全局搜索_04

6、我们继续分析Me函数,里面的几个参数我们挨个分析

e.vid,已知

e.svrtick,undefined

_a.getTimesStampStr()

js代码如下,我们复制的源代码,但是有时候js调试工具报错,但是通过python调用时没问题的

function getTimeStampStr (e, t) {
var e,t;
                    void 0 === e && (e = +new Date),
                    void 0 === t && (t = 10);
                    let r = String(e);
                    if (r.length === t)
                        return r;
                    if (r.length > t)
                        return r.substring(0, t);
                    let n = t - r.length;
                    for (; n > 0; )
                        r = `0${r}`,
                        n -= 1;
                    return r
                }

t,就是guid值,固定的lhsuf6ia_0rieucpidpbc

r,固定值4330701

Me函数,是很长的一段代码,所以我们主要分析一下返回值,在最后下断

JS逆向 -- 某视频vurl值的加密分析_bc_05

段下后,查看返回值正好是我们要找的ckey

JS逆向 -- 某视频vurl值的加密分析_bc_06

v + f + l + s + C[He][Me](Wn, Jn, Qn)[E][k]()[g]()

7、v,f,l,s都是产量,分别是- - 0 1

8、看看那些提示,iv,mode,pkcs7,aes等,应该是aes加密

JS逆向 -- 某视频vurl值的加密分析_抓包_07

9、C[He][Me]这个是encrypt加密函数

JS逆向 -- 某视频vurl值的加密分析_bc_08

10、Wn是明文数据,Jn是key,Qn是iv向量

11、Wn是由Dt + qn + Gn组成,Dt是|,Gn里面的数据我们前面都获取过,通过下断,发现qn来自下面的地方

JS逆向 -- 某视频vurl值的加密分析_bc_09

12、将上面的内容改写后,通过JS实现,Yn就是qn的值

Vn='|o000017kuww|1684410769|mg3c3b04ba|1.25.0|lht28fgc_7wmvm508mae|4330701|https://w.yangshipin.cn/|mozilla/5.0 (windows nt ||Mozilla|Netscape|Win32|'
Yn=0
for (Ur = 0; Ur < Vn.length; Ur++)
                        Xn = Vn.charCodeAt(Ur),
                        Yn = (Yn << -5516 + 1360 + 9081 - 4920) - Yn + Xn,
                        Yn &= Yn;
                        console.log(Yn)


标签:分析,加密,vkey,--,vurl,JS,ckey,Ur
From: https://blog.51cto.com/u_15288375/6314691

相关文章

  • 横向对比 11 种算法,多伦多大学推出机器学习模型,加速长效注射剂新药研发
    内容一览:长效注射剂是解决慢性病的有效药物之一,不过,该药物制剂的研发耗时、费力,颇具挑战。对此,多伦多大学研究人员开发了一个基于机器学习的模型,该模型能预测长效注射剂药物释放速率,从而提速药物整体研发流程。关键词:长效注射剂机器学习嵌套交叉验证本文首发自HyperAI超神经......
  • Nacos 核心原理解读+高性能微服务系统实战
    Nacos核心原理解读+高性能微服务系统实战download:3w51xuebccom《模拟人生4》(TheSims4)是一款由Maxis和TheSimsStudio开发,由ElectronicArts发行的模拟人生游戏。它被广泛认为是模拟人生系列中最好玩的一部分。本文将向您介绍TS4的入门知识。TS4的基本概念在TS4中,你可以创建......
  • 详解c++STL—容器set/multiset
    1、set基本概念1.1、功能所有元素都会在插入时自动被排序1.2、本质:set/multiset属于关联式容器,底层结构是用二叉树实现。1.3、set和multiset区别set不允许容器中有重复的元素multiset允许容器中有重复的元素2、set构造和赋值2.1、功能描述创建set容器以及赋值2.1、构造set<T>st;/......
  • vue3+vant3封装省市区组件
    因为后台返回的数据格式和vant不一致,所以自己遍历循环得到自己想到的格式。省市区的接口并不是一个以children格式,一次性全部获取,而是选择市的时候需要得到省的id,一层一层请求接口才能得到省市区。 父组件:1<selectArea2@addressOnFinish="onChangeArea"3......
  • JavaScript全解析——ES6函数中参数的默认值和解构赋值
    本文为千锋资深前端教学老师带来的【JavaScript全解析】系列,文章内含丰富的代码案例及配图,从0到1讲解JavaScript相关知识点,致力于教会每一个人学会JS!文末有本文重点总结,可以收藏慢慢看~更多技术类内容,主页关注一波!ES6函数中参数的默认值给函数的形参设置一个默认值,当你没有......
  • 工作中遇到的相关问题汇总
    VMware相关问题1、VMware混杂模式是一种网络模式,它允许虚拟机和物理机之间的网络流量相互通信。在混杂模式下,虚拟机可以接收和发送物理网络上的所有数据包,而不仅仅是发送给它们的数据包。这个模式通常用于测试和开发环境,因为它允许虚拟机与物理机之间进行更灵活的网络交互。但......
  • 百度统计
    百度统计数据管理平台网站分析基于脚本的统计,统计访客的浏览等行为可以获取点击、响应等数据并方便展现缺点:无法统计网络爬虫的信息以下为网站分析工具的JavaScript收集数据流程图:浏览量pv:页面浏览量PV(pageview),用户每打开一次页面就被记录1次访问次数:连续半小时,算一......
  • c++局部静态变量是线程安全的
    mark一下。c++11之前,局部静态变量初始化并不是线程安全的。c++11之后,当局部静态在初始化的过程中,有新的获取,会阻塞等待初始化成功。classInstance{public://... staticGetInstace() { staticInstanceinstance; returninstance; }};new,理论上应该也是可以的,......
  • iOS视频播放常用重点知识
    iOS视频播放常见的重要知识点如下:视频格式:iOS支持的视频格式主要有H.264、MPEG-4、H.263、Sorenson等。它们根据不同的应用场景进行使用。视频编解码:视频编解码技术是视频播放的核心,它有两部分组成,1.将原始视频数据编码为压缩格式,2.将压缩格式的数据解码成原始视频数据。在iOS中......
  • 异步CDC及异步FIFO分享
    分享两篇很棒的论文:1.《ClockDomainCrossing(CDC)Design&VerificationTechniquesUsingSystemVerilog》http://www.sunburst-design.com/papers/CummingsSNUG2008Boston_CDC.pdf2.《SimulationandSynthesisTechniquesforAsynchronousFIFO......