破解资源 
首页 > 破解资源 > 浏览文章

【JS逆向系列】某乎x96参数与jsvmp初体验

(编辑:jimmy 日期: 2024/12/24 浏览:3 次 )

@TOC

样品网址:aHR0cHM6Ly93d3cuemhpaHUuY29tLw==

js分析

在搜索的时候,请求头中会存在一个x-zse-96的参数,这个参数是加密的,本篇文章主要分析这个参数是如何生成的

【JS逆向系列】某乎x96参数与jsvmp初体验
直接在全局中搜索

【JS逆向系列】某乎x96参数与jsvmp初体验
发现只有两处地方引用到,那么直接打上断点刷新

【JS逆向系列】某乎x96参数与jsvmp初体验
此时发现参数已经生成,前面的【2.0_】是固定值,后面的【y】是前面的【O.signature】

继续往前看【O】,这是由一个自执行函数生成的,在里面也下一个断点

【JS逆向系列】某乎x96参数与jsvmp初体验
这里有三个参数,第一个【e】是请求的地址,第二个【t】是请求体,第三个【n】是一个对象,里面又有三个值,其中【zse93】是另一个请求头的值,是一个定值,【dc0】是cookie中的【d_c0】的值,还有一个【xZst81】是空的,可以不用管

接着的参数【s】就是过滤掉布尔值为false的值然后进行拼接,所以实际【s】就是【{x_zse_93}+{path}+{d_c0}】

然后我们需要的参数【signature】就是【s】经过两个函数生成的,那么首先来看看【f】函数

【JS逆向系列】某乎x96参数与jsvmp初体验
看到返回值是一个长度32的字符串,猜测这个函数很有可能是一个md5的计算,从在线网站计算一下对比,发现这个就是一个标准的md5算法

接着就是【u】函数

【JS逆向系列】某乎x96参数与jsvmp初体验
这个就是我们需要的结果,跟进去看看

【JS逆向系列】某乎x96参数与jsvmp初体验
接着在单步调试的时候,发现会在各个函数之间反复横跳。看到这个前面有一个很长的字符串【AxjgB5MAnACoAJwBpAAAABAAIAKcAqgAM*****】,这种很有可能就是jsvmp。

jsvmp分析

jsvmp就是将js源代码首先编译为字节码,得到的这种字节码就变成只有操作码(opcode)和操作数(Operands),这是其中一个前端代码的保护技术。

整体架构流程是服务器端通过对JavaScript代码词法分析 -> 语法分析 -> 语法树->生成AST->生成私有指令->生成对应私有解释器,将私有指令加密与私有解释器发送给浏览器,就开始一边解释,一边执行。

【JS逆向系列】某乎x96参数与jsvmp初体验
在客户端中,通过特定的解释器,不断执行一条一条的指令

【JS逆向系列】某乎x96参数与jsvmp初体验

既然是jsvmp,那么肯定会有vmp的一些特征

【JS逆向系列】某乎x96参数与jsvmp初体验
这里的【G】就是vm初始化,这里有几个参数需要特别注意

参数映射意义this.r
上一篇:屏蔽winrar64弹窗广告
下一篇:某钉打卡,安卓12,安装即用【和谐了】之前在使用的仍可使用
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?