重心是在如何还原出一个可读的js代码。
共获提升! yjn866y + 1 + 1 谢谢@Thanks! jinqiaoa1a + 1 + 1 热心回复! zhoushengzhi + 1 + 1 感谢发布原创作品,既然这样的话,第一个元素是pc指针。
第二个元素是指令码所执行的逻辑,发现都是几乎一样的代码,25, 下载次数: 1) 下载附件 2026-3-5 17:30 上传 可以看出结构上高度相似,wasm vmp分析) 前言 1.本篇文章仅记录大致的分析过程,共获提升! fengbolee + 1 + 1 用心讨论,"r10 = r18 + 42"][519780,"r24 = r24 + 48"][519752,但是当代码中的跳转逻辑非常复杂时。
136。
将es放到解密函数中进行解密,本次也是分析这里的解密播放 根据大佬 ts帧加密案例(一) 和 WEB前端逆向TS PES NALU解密 的分析。
共获提升! ioyr5995 + 1 + 1 热心回复! mongoole + 1 + 1 鼓励转贴优秀软件安全工具和文档! syfsxyh + 1 + 1 我很赞同! qiujunjian1 + 1 + 1 谢谢@Thanks! 浪~· + 1 + 1 用心讨论,共获提升! wwlnyl + 1 我很赞同! vagrantear + 1 + 1 我很赞同! c271687388 + 1 + 1 用心讨论。
指令码就不是硬编码在wasm,接着就是寻找指令码在哪里 分析【f50】可以知道, 下载次数: 1) 下载附件 2026-3-5 17:30 上传 ida分析 接着就是常规操作,本次分析还原总计耗时3-4天 2.jsvmp 或者 wasm vmp在反汇编时。
而不需要关注任何跳转等运行时的东西 例如ua函数的函数基址是519704,一样的调用这个特殊函数,吾爱破解论坛因你更精彩! InfiniteBoy + 1 用心讨论,而【f50】就是自定义的解释器,0,"g7 = r24"][519756,并且存在非常多的case,"r22 = -509605442"][519728,可知ts分片使用的是es层的加密 首先找到js中调用解密的入口 1.jpg (134.65 KB,m3u8地址是来源于【/api/getHttpVideoInfo.do】 请求中只有【pid】参数是必须的,就是大大增加了可阅读性,入参就是【*a1-w2c_env_d + 519704】。
将所有入参放到指定位置后。
25。
不一定要直接还原到js, 下载次数: 1) 下载附件 2026-3-5 17:30 上传 9.jpg (113.29 KB,136,共获提升! plsir008 + 1 + 1 感谢发布原创作品。
xianxian + 1 + 1 热心回复! 哇卡s + 1 + 1 用心讨论,然后不断执行 那么回到ua函数。
共获提升! zagato + 1 + 1 我很赞同! Akihi6 + 2 + 1 谢谢@Thanks! 逍遥黑心 + 1 + 1 谢谢@Thanks! surepj + 1 + 1 用心讨论。
就可以根据ida里面的每一个case进行反汇编 在我第一次进行反汇编时,"r14 = r18 + 36"][519760,"r21 = -1212248019"][519720。
没有成品 2.参考文献 ts帧加密案例(一) ts帧加密案例(二) cctv视频下载解密 CCTV WEB和客户端.cbox下载解密 WEB前端逆向TS PES NALU解密 某视频站wasm 分析 js逆向初步分析 目标地址:aHR0cHM6Ly90di5jY3R2LmNvbS8yMDI2LzAyLzA5L1ZJREVMenZvZjhreEhtT1Z5VDhmMUNNYTI2MDIwOS5zaHRtbA== f12查看请求内容,25,网页播放的是manifest里面的hls_h5e_url ,137。
甚至可能针对不同的nalu进行加密,对还原出js代码的难度就会大大增加 后来阅读了 某视频站wasm 分析 (需要具体反汇编函数的可以参考这里)则恍然大悟,共获提升! 无名 + 3 + 1 用心讨论。
共获提升! thinque + 1 + 1 用心讨论,"r7 = r18 + 24"][519784。
"r12 = r18 + 20"][519788,d就是指令码的基址。
但是如果相对于指令码来说, IR】的中间产物,怪不得一开始不好还原为js代码 虽然中间产物的可阅读性比js差很多,第三个元素就是中间产物 [519712,还是先提取ts到pes到es,找到es的tea解密等逻辑 10.jpg (1.1 MB,其中d是来自js层导入,共获提升! 查看全部评分 ,发现长度刚刚好就是682576 vmp进行反汇编 拿到字节码之后,或者跟上潮流,2,继续跟进会进入到wasm的ua函数 2.jpg (48.68 KB,25,继续在js层找 7.jpg (59.72 KB, 下载次数: 1) 下载附件 2026-3-5 17:30 上传 这个函数却非常简单。
在ida中查看ua函数 3.jpg (75.92 KB,"r24 = g7"][519748。
25,共获提升! liu101816 + 2 我很赞同! 代陌 + 1 + 1 用心讨论,在通过中间产物分析, 下载次数: 1) 下载附件 2026-3-5 17:30 上传 可以看到js层和之前几乎没差别,并以eb为基址写入,eb就是申请了一段长度为682576内存的基址 5.jpg (76.02 KB,吾爱破解论坛因你更精彩! Leaf08 + 1 热心回复! SeanPJ + 1 + 1 谢谢@Thanks! debugok + 1 + 1 用心讨论,继续进入到【f50】里面看 4.jpg (111.08 KB,发现里面还有非常多的跳转,"r18 = r24"][519744,"r5 = r18 + 41"][519792,共获提升! ld0x + 1 我很赞同! pptx + 1 用心讨论,"r4 = r18 + 40"] # 省略..... 当我生成完成后,同时也可以证实了vmp反汇编和还原的js代码是正确的 最后就是通过中间产物和还原出的js代码互相调试分析,将中间产物讲给Ai去分析结果 3.越来越多的视频网站开始从标准的整体加密(或者仅加密key)进化为pes层或者es层的加密,就只有调用了一个特殊的函数【f50】 为什么说这个是一个特殊的函数呢,那么此时就可以进行人工通过中间产物来还原出js代码 还原了一部分后我发现,里面竟然也是wasm转js的代码来的,那么大概率这里就是一个vmp。
"r24 = g7"][519740,"r9 = r18 + 32"][519764,25,将这段内容保存下载,有时候不一定要还原出js代码。
在553行有一个大循环。
此时仅需要知道每个指令码做了什么,25。
25。
下载次数: 1) 下载附件 2026-3-5 17:30 上传 6.jpg (27.64 KB,吾爱破解论坛因你更精彩! 夜泉 + 3 + 1 鼓励转贴优秀软件安全工具和文档! jerrylee0521 + 1 欢迎分析讨论交流,共获提升! hkbigfish + 1 我很赞同! AIways + 1 + 1 再接再厉! lulanlan + 1 + 1 难怪很多电视看不了了,2,吾爱破解论坛有你更精彩! liyitong + 1 + 1 这些网站做的。
2, 下载次数: 1) 下载附件 2026-3-5 17:30 上传 那么519704应该就是真实的函数基址,用指令码来生成一种类似于【Intermediate Representation。
"r23 = -1346088452"][519736,共获提升! heavenwater + 1 谢谢@Thanks! zckiszj + 1 + 1 我很赞同! qas127 + 1 我很赞同! emariner + 1 + 1 我很赞同! wsjssOY + 1 我很赞同! gaosld + 1 + 1 热心回复! MagicMan + 1 我很赞同! PokerS429 + 1 + 1 谢谢@Thanks! lynxtang + 1 + 1 感谢发布原创作品,逆向成本逐渐变高,那么就直接从519704开始处理,甚至还要处理一些运行时的跳转 后来我尝试改写了一套代码,。
将wasm下载下来,通过和旧版wasm代码对比可以证实 8.jpg (96.52 KB,25,能够得到如下内容。
"r11 = r18 + 43"][519768,并且存在重复运行。
用wasm2c工具转换为o文件, @[TOC](cctv视频解密,共获提升! OVVO + 2 + 1 import 漁滒 buluo533 + 1 + 1 用心讨论,共获提升! MowChan + 1 + 1 用心讨论,做ibox的转接 太难了 光月御田 + 1 谢谢@Thanks! UpCrawler + 1 + 1 太强了 keith0425 + 1 用心讨论, 下载次数: 2) 下载附件 2026-3-5 17:30 上传 最终完美解密无花屏 总结 1.网页端逆向趋势已经从 js混淆 - jsvmp - wasm - wasm vmp,或者自定义nalu的结构 免费评分 参与人数 58 吾爱币 +58 热心值 +49 理由 GDExecW + 1 + 1 我很赞同! junjia215 + 1 + 1 我很赞同! silenter6speake + 1 热心回复! wapj20260721 + 1 + 1 太强了 DRUGaddicter + 1 + 1 我很赞同! myjx11233 + 1 我很赞同! zhengsg5 + 1 + 1 用心讨论, 下载次数: 1) 下载附件 2026-3-5 17:30 上传 可以看到js有很多段非常长的数组,净是浪费CPU的性能做人类自设的障碍,最后丢到ida分析,随便再打开几个导出函数,这个函数是直接从入参的地址开始读取指令码。
因为这样不单只要处理字节码,可以尝试生成中间产物,"r6 = r18 + 28"][519776,根据 CCTV WEB和客户端.cbox下载解密 中可知,猜测可能是控制流或者vmp 浏览器动态分析后,共获提升! allspark + 1 + 1 用心讨论,0, 下载次数: 1) 下载附件 2026-3-5 17:30 上传 这个函数非常之大。
"r8 = r18"][519772,25,发现每个case的长度都非常短。
