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

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

(编辑:jimmy 日期: 2024/11/16 浏览: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,安装即用【和谐了】之前在使用的仍可使用
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap