吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3289|回复: 7
上一主题 下一主题
收起左侧

[Web逆向] 某讯jsvmp(一)

  [复制链接]
跳转到指定楼层
楼主
dddd0526 发表于 2026-1-6 15:45 回帖奖励
本帖最后由 dddd0526 于 2026-1-6 15:47 编辑

前言


文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口均已做脱敏处理。严正声明禁止用于商业和非法用途,否则由此产生的一切后果与作者本人无关。


  • 站点:某讯jsvmp(一)
  • 加密点:滑块参数
  • 网址aHR0cHM6Ly9hY2NvdW50cy5kb3ViYW4uY29tL3Bhc3Nwb3J0L2xvZ2lu

简单贴下加密参数图片

1.什么是VMP

:虚拟机保护技术

解释:此处的虚拟机保护技术和VM(虚拟机)不是同一种东西,它是基于虚拟机的代码保护技术,将基于X86汇编系统的可执行代码转换为字节码指令系统的代码,以达到保护原有指令不被轻易逆向或篡改的目的。

2.VMP的工作原理是什么?
  1. 代码转换
    • 初始编译:将高层次语言(如C++、C#等)编译成x86汇编代码或中间表示(IR)。
    • 字节码生成:将x86汇编代码转换为虚拟机特定的字节码指令。这个转换过程会混淆和加密指令,生成难以理解的字节码
  2. 虚拟机执行
    • 解释器:在程序运行时,一个专门的虚拟机解释器负责解释和执行这些字节码指令
    • 动态执行:解释器逐条读取字节码指令并在底层的x86指令系统上执行相应的操作。
  3. 简单的说
    • 虚拟机初始化
    • 指令调度
    • 指令处理
    • 循环执行

:太过于底层的东西,我们暂且不续,接着说回正题!

3.跟栈

简单的跟栈手法我就不在过多叙述了,跟到这里会发现,a参数和l参数中并没有我们想要的加密值。这时候可以网上看看代码的执行过程,我是直接找到最上面的方法,看et参数,t参数中就有我们的加密值,我们直接向上追栈。

这个时候就已经很明显了,我们的加密参数生成位置。

这样就可以清晰的看到,a就是我们想要的加密值,它是通过o.getTdcData方法然后又经过了decodeURIComponent方法解码得到的。我们在o.getTdcData方法处打断点,重新断住。

4.分析指令集

到这一步就需要看下代码,仔细分析分析了。其实大佬们看到这里的代码就已经明白了,这里是整个VMP的精华部分,也是我们搞小动作的地方,至于原因,我来说下我自己的见解,不一定正确,各位听听就好。

首先VMP是什么我们上面已经说过,是把高级层面的编程语言转换成汇编代码,然后把汇编代码转换成虚拟机可执行的虚拟机特定的字节码指令。

那么我们该怎么理解这句话呢?看见什么编程语言、汇编指令、字节码指令等等词汇头都大了,我用我的方言简单解释下。汇编代码最基本的就是对堆栈的操作,比如入栈和出栈、计算等等。那么用js代码如何来实现这一操作呢?没错,这里就是使用pop、push方法,分别对应出栈(从堆栈顶部取出数据)和入栈(将数据存入堆栈顶部),堆栈遵循"先进后出"原则。

我们先把这个指令集代码全部扣出来,分析一下下。

把所有方法都折叠后发现,只有一个方法是自执行的,其他几个对象都没有主动执行,都是被动调用的,所以我们重点先分析自执行函数。

有兴趣的大佬可以看下指令集的代码,了解下代码的流程,可以很方便的定位到。

那么也有和我一样,看不懂代码的小白,那么我们该如何定位呢?接着往下看。

上面我们已经说过,VMP的四个步骤,虚拟机初始化、指令调度、指令处理、循环执行,所以我们处理时,第一是先找到指令集代码所在文件,也就是我们刚刚跟栈跟到的这个文件,第二是找到指令集,也就是指令调度和指令处理的环节,何谓指令调度,就是从字节码中读取下一条指令,也就是下一步我该怎么走,何又谓指令处理呢?就是对每一个字节码指令的处理,执行对应的操作。再结合指令集最大的特点,循环操作。那么范围其实就已经很小了。

我们定位到指令集后就可以在指令集位置下日志断点,结合日志来分析加密逻辑,逆推出加密的代码。

6.插桩日志

日志大概是7万条左右,不是很多,各位大佬们可以先自行尝试下,看看能不能靠自己还原出这个VMP的加密代码。

贴个我成功还原的图~~

日志分析的内容放在下一篇~

总结

代码不多,非常适合新手小白练手!

免费评分

参与人数 8吾爱币 +6 热心值 +8 收起 理由
jiassicat + 1 + 1 谢谢@Thanks!
_小白 + 1 + 1 我很赞同!
fengbolee + 1 + 1 用心讨论,共获提升!
ttzzw + 1 + 1 用心讨论,共获提升!
PJOne666 + 1 我很赞同!
jaffa + 1 谢谢@Thanks!
xuhao4577062311 + 1 + 1 我很赞同!
buluo533 + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
yeungh 发表于 2026-1-16 16:32
牛啊,感谢感谢~~~~~~~~~~~~~~~~~~~
3#
senkan 发表于 2026-1-16 21:49
4#
amwquhwqas128 发表于 2026-1-18 08:30
5#
2313737565 发表于 2026-1-21 10:56

感谢分享,666
6#
hzpeng 发表于 2026-1-26 19:37
TEA算法的 密钥数组动态的,怎么处理 没思路
7#
hzh564335 发表于 2026-1-28 14:47
tqltqltql太强了
8#
cmsttasd 发表于 2026-2-9 13:32
jsvmp  看着好眼熟啊,是不是好多大厂也在用
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-2-17 03:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表