文章仅供学习参考


文章目录

  • 前言
  • 一、页面分析
  • 二、找加密入口
  • 三、总结



前言

目标网站:aHR0cHM6Ly93d3cuZmFudHVhbmhkLmNvbS9wbGF5L2lkLTEzMzk3LTEtMS5odG1s


一、页面分析

要拿到的是这个网站解析后返回的视频地址

javascript 视频解析_3c

javascript 视频解析_前端_02

通过搜搜是无法找到的,说明不是后端直接返回,而是通过JS处理后生成的

javascript 视频解析_http_03

二、找加密入口

通过观察发现,这一处有一串神秘的url,大概率就是视频地址加密之后的样子,然后调用 YZM.start()进行解密的

javascript 视频解析_安全_04


先下个断点看看

javascript 视频解析_前端_05


进到函数里面,继续调用play函数

javascript 视频解析_前端_06


跟到这里后,先看看网页有没有生成视频链接

javascript 视频解析_javascript 视频解析_07


发现没有生成,直接按个F10跳过这个函数

javascript 视频解析_安全_08

可以看到是生成了视频地址,说明play函数里做了url的解密操作

javascript 视频解析_前端_09


重新断点到play函数,走到这后,进yzmplayer里

javascript 视频解析_http_10


好家伙!一目了然了,这是直接薅的jsjiami呀,注释也不去了

javascript 视频解析_http_11


然后进到里面,最终是走这个else分支里的代码

javascript 视频解析_前端_12

简单还原下看看

javascript 视频解析_3c_13


这边不好判断是在哪里进行的解密,笨方法就是逐个下断点看在哪里生成了url,然后下个断点刷新下,

最终入口是在这

javascript 视频解析_3c_14


然后慢慢跟进去,就能发现了

javascript 视频解析_安全_15

也就是个AES-CBC的加密,IV跟KEY是死的,直接套算法模板调用就行了

javascript 视频解析_前端_16


javascript 视频解析_3c_17


三、总结

水一篇吧…… 是在是太久没更新了