逆向JS分析实战某违规网站4--数据分析

文章讲述了通过静态和动态分析技术,追踪并解析JavaScript中_0x132eed变量(即MacPlayer.PlayUrl)值的来源。从vod.js文件开始,发现MacPlayer.Init()函数中的Init函数在第75行对PlayUrl进行赋值,该值来自player_data.url。player_data是一个JSON数据,可以通过网页源代码的正则匹配获取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在上一章经过还原混淆和稍微处理下代码后,我们得到了这样一张图:
在这里插入图片描述
从图中可以看到_0xeb9911(视频下链接地址)是受到_0x2ef354影响,_0x2ef354的值是受到_0x132eed影响的,而_0x132eed却是个未知值。

var _0x132eed = parent.MacPlayer.PlayUrl;	

那要完整还原出下载地址,就需要理清_0x132eed即parent.MacPlayer.PlayUrl赋值的来龙去脉。

在这里插入图片描述

从上图可以看到,在还没执行到 var _0x132eed = parent.MacPlayer.PlayUrl ,parent.MacPlayer.PlayUrl 就已经是有相应的数值了。说明 parent.MacPlayer.PlayUrl 在第355行代码之前早已被赋值,那是在vod.js?v=0.3507995514310325:formatted 这个js文件里赋的值,还是其它 js 文件赋的值?

在前一章节,我们是在vod.js?v=0.3507995514310325:formatted 的第一行代码下了断点的,所以我们先刷新一下网页,让程序跑到 vod.js?v=0.3507995514310325:formatted 的第一行代码,然后把parent.MacPlayer.PlayUrl 粘贴到控制台观察下情况。

在这里插入图片描述
从上图可以看出在进入vod.js?v=0.3507995514310325:formatted 之前,parent.MacPlayer.PlayUrl 就已经被赋值了。

但是如果直接搜索 MacPlayer.PlayUrl 是没搜索不到结果的,如图示。

在这里插入图片描述

那就搜索下 MacPlayer 看能搜索到什么

在这里插入图片描述
从图中,可以看到返回了很多结果,其中有一个结果名为 MacPlayer.Init(); 这是一个初始化函数,有些可疑。我们在MacPlayer.Init();出现的地方下个断点,然后动态调试看它会去到哪里。

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
由上图可以看出当程序在MacPlayer.Init()处断下来后,我们点击进入下一个函数调用(F11),就去到了 VM3589:formatted 文件下的 Init 函数。
在往下阅读 Init 函数的代码时,我们能看到一个可疑之处
在这里插入图片描述
那我们不妨在这个第75行下个断点,看看 MacPlayer.PlayUrl 在执行此行代码前后的数值变化情况。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

由上面三张调试图可看出 this.PlayUrl = player_data.url; 这行代码执行前, MacPlayer.PlayUrl 都是没有值的,而在执行完 this.PlayUrl = player_data.url; 这行代码后, MacPlayer.PlayUrl 就有数值了。那就是关键点在 player_data.url 。那 player_data.url 又是在哪里出现的呢?
常规手法 搜索下 player_data 。

在这里插入图片描述
在这里插入图片描述

从搜索结果来看, player_data 是在视频网页里面的一个josn数据,而url 则是 player_data 里的一个子变量。

到此,我们就理清楚了 parent.MacPlayer.PlayUrl 的数值来源,所以_0x132eed = player_data.url , 而 player_data 可通过网页源代码使用正则获取得到。
在这里插入图片描述

总结:
遇到数据来源不明确时,不可浮躁,善于运用静态分析和动态分析,理清其中的因果关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脱壳潜行者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值