当前位置: 首页 > article >正文

瑞数6代jsvmp简单分析(天津电子税x局)

国际惯例 今天帮朋友看一个gov网站的瑞数加密(天津电子税x局)

传送门(登陆入口界面)

瑞数6特征

1.服务器会发两次包,第一次响应状态码为412,第二次响应状态码为200。

2.有三重debugger,其中有一重debugger要拦截和修改使用 Function 构造函数创建的新函数(即Hook)。
3.返回第一个cookie_S其中cookie_S的值的第一个值为6代表瑞数6代(由服务器生成);然后js混淆生成了第二个cookie_T,只有携带有效的cookie_T才能正确请求页面状态码才是200。(也有些是O/P结尾的)
4.加载VM的1万多行代码入口特性用正则匹配是:ret=\S{4}.call(\S{4},(\S{4}));其中第一个参数为eval,第二个是要用eval执行生成的VM文件。


在这里插入图片描述

这里简单提一句怎么区分瑞数3/4/5/6/jsvmp版本的

如图中后端返回的第一个LmqtOhuon8XES键值对,里面的首个字符串是6,就代表了当前为6代,同理也有3/4/5开头的,至于jsvmp版本,则可以通过响应源码里面有如下内容$_ts.nsd 或者 打开f12直接在跳出的js里面搜索<= 63 ,也可以判断出来它是最新版本的瑞数jsvmp。

在这里插入图片描述


废话不多说直接开干吧 我们首先分析下整个流程

index文件
在这里插入图片描述

外链JS文件(自执行方法)

在这里插入图片描述

在这里插入图片描述

分析1.其中meta标签,其content内容很长且(每次请求都是动态变化的)。

分析2.外链js文件,一般同一页面中其内容是固定的,里面是个自执行方法,虚拟文件入口也在这里,主要是解密ts内容。

分析3.ts内容(每次请求首页都会动态变化)

执行流程图
在这里插入图片描述


接下来进入喜闻乐见的nodejs补环境环节

ps:瑞数6在扣代码到本地环境的时候,千万不要格式化代码,因为瑞数6有to string检测,会检测代码的长度、内容或者一些方法的环境。不然逆向会送你一个“Bug大礼包”Invalid array length 程序一直执行。(不仅是瑞数,其它的都是一样的,只要是js文件,在扣js代码的内容,最好是碗就碗是碟就碟,千万不要格式化)。

这里推荐几个大佬的开源代码

在这里插入图片描述

在这里插入图片描述

这里贴部分补环境的代码

    window = new Proxy(window, {get: function (x, y) {if (typeof x[y] === "function") {x[y].toString = function () {return 'function ' + y + '() { [native code] }'}}return x[y]},set: function (target, p, value, receiver) {if (p.indexOf('jsonp_') > -1) {callbackJsonpCustom.push(p)}Object.defineProperty(target, p, {value: value, writable: true, configurable: true});// Object.defineProperty(global, p, {value: value, writable: true, configurable: true});return true}});window.location = new Proxy(window.location, {get: function (x, y) {if (typeof x[y] === "function") {x[y].toString = function () {return 'function ' + y + '() { [native code] }'}}if (y === "port") {return "443"}return x[y]},set: function (target, p, value, receiver) {if (p.indexOf('jsonp_') > -1) {callbackJsonpCustom.push(p)}Object.defineProperty(target, p, {value: value, writable: true, configurable: true});return true}});let txt = fs.readFileSync('./JsBase64.txt').toString('utf8')let ts_data = new Buffer.from(txt, 'base64').toString('utf8')window['$_ts'] = {};let execScript = window.eval;window.eval.toString = function () {return 'function eval() { [native code] }'}window.eval = function (data) {window.eval = execScript;window.eval.toString = function () {return 'function eval() { [native code] }'}

这里需要注意一个东西(必须加上)

delete __dirname;
delete __filename;

另外再提几句比较坑的地方,有时候补环境生成的长度比较短,然后拿去跑代码,会发现后端返回http状态码400,这个时候就得注意下是否环境没补全,看看document.all 的检测 / webdriver 属性检测 / navigator 相关属性检测 等 能从浏览器自吐的就全部cv过去。


ok 到了喜闻乐见的成品运行图。(目前可以通杀所有省份的税务局瑞数6代jsvmp)

在这里插入图片描述

在这里插入图片描述

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


Ending

Github传送门

持续更新ing (欢迎各种star与fork)

如有权益问题可以发私信联系我删除

相关文章:

瑞数6代jsvmp简单分析(天津电子税x局)

国际惯例 今天帮朋友看一个gov网站的瑞数加密&#xff08;天津电子税x局&#xff09; 传送门&#xff08;登陆入口界面&#xff09; 瑞数6特征 1.服务器会发两次包&#xff0c;第一次响应状态码为412&#xff0c;第二次响应状态码为200。 2.有三重debugger&#xff0c;其中有…...

缓存架构方案:Caffeine + Redis 双层缓存架构深度解析

在高并发、低延迟的现代互联网系统中&#xff0c;缓存是提升系统性能和稳定性的重要手段。随着业务复杂度的增长&#xff0c;单一缓存方案&#xff08;如仅使用Redis或仅使用本地缓存&#xff09;已难以满足高性能与一致性需求。 本文将围绕 Caffeine Redis 的双层缓存架构展…...

AI笔记 - 模型调试 - 调试方式

模型调试方式 基础信息打印模型信息计算参数量和计算量过滤原则profile方法get_model_complexity_info方法FlopCountAnalysis方法 基础信息 # 打印执行的设备数量&#xff1a;device_count:1 print(f"device_count:{torch.cuda.device_count()}")# 打印当前网络执行…...

榕壹云物品回收系统实战案例:基于ThinkPHP+MySQL+UniApp的二手物品回收小程序开发与优化

摘要&#xff1a;本文深入解析了一款基于ThinkPHPMySQLUniApp框架开发的二手物品回收小程序——榕壹云物品回收系统的技术实现与商业价值。通过剖析项目背景、核心技术架构、功能特性及系统优势&#xff0c;为开发者与潜在客户提供全面的参考指南&#xff0c;助力资源循环利用与…...

《软件工程》第 9 章 - 软件详细设计

目录 9.1 详细设计的任务与过程模型 9.2 用例设计 9.2.1 设计用例实现方案 9.2.2 构造设计类图 9.2.3 整合并优化用例实现方案 9.3 子系统设计 9.3.1 确立内部设计元素 9.3.2 导出设计类图 9.4 构件设计 9.5 类设计 9.5.1 精化类间关系 9.5.2 精化属性和操作 9.5.…...

WebVm:无需安装,一款可以在浏览器运行的 Linux 来了

WebVM 是一款可以在浏览器中运行的Linux虚拟机。不是那种HTMLJavaScript模拟的UI&#xff0c;完全通过HTML5/WebAssembly技术实现客户端运行。通过集成CheerpX虚拟化引擎&#xff0c;可直接在浏览器中运行未经修改的Debian系统。 Stars 数13054Forks 数2398 主要特点 完整 Lin…...

王树森推荐系统公开课 排序06:粗排模型

shared bottom 表示神经网络被所有特征共享。精排模型主要开销在神经网络&#xff0c;神经网络很大且很复杂。 每做一次推荐&#xff0c;用户塔只做一次推理。物品塔存放入向量数据库。 后期融合模型常用于召回&#xff0c;前期融合模型常用于精排。 物品塔短时间内比较稳…...

go并发编程| channel入门

channel 介绍 channel 是在 Go 的并发编程中使用的&#xff0c;这个工具的作用之一是 goroutine 之间通信&#xff08;线程通信指的是多个线程之间通过共享数据或协作机制来协调操作&#xff0c;通常需要借助锁来保证同步&#xff09;。Go 中推荐使用 channel&#xff08;不同…...

PH热榜 | 2025-05-29

1. Tapflow 2.0 标语&#xff1a;将你的文档转化为可销售的指导手册、操作手册和工作流程。 介绍&#xff1a;Tapflow 2.0将各类知识&#xff08;包括人工智能、设计、开发、营销等&#xff09;转化为有条理且可销售的产品。现在你可以导入文件&#xff0c;让人工智能快速为你…...

详解GPU

详解GPU GPU&#xff08;图形处理器&#xff09;就像电脑里的 “图形小能手”&#xff0c;原本主要用来画画&#xff08;渲染图形&#xff09;&#xff0c;现在还能帮忙干很多杂活&#xff08;并行计算&#xff09; 一、先认识 GPU 的 “钥匙”&#xff1a;驱动和开发工具 装驱…...

WPF【11_10】WPF实战-重构与美化(配置Material UI框架)

11-16 【UI美化】配置Material UI框架 三种比较主流的 UI 设计规范&#xff0c;分别是&#xff1a; 苹果的扁平化 UI 设计、安卓或者说谷歌 的 Material Design 以及微软的 Metro 风格。 这三种风格都极具特色&#xff0c;不过我们接下来将会使用的是 Material Design 。在 W…...

(自用)Java学习-5.16(取消收藏,批量操作,修改密码,用户更新,上传头像)

1. 取消收藏功能 前端实现&#xff1a; 用户点击“取消收藏”按钮时&#xff0c;前端通过变量status判断当前状态&#xff08;0为未收藏&#xff0c;1为已收藏&#xff09;。 发送AJAX请求到后端接口&#xff1a; 添加收藏&#xff1a;/favoriteise/addFavoriteise?pid商品ID…...

【Node.js】部署与运维

个人主页&#xff1a;Guiat 归属专栏&#xff1a;node.js 文章目录 1. Node.js 部署概述1.1 部署的核心要素1.2 Node.js 部署架构全景 2. 传统服务器部署2.1 Linux 服务器环境准备系统更新与基础软件安装创建应用用户 2.2 应用部署脚本2.3 环境变量管理2.4 Nginx 反向代理配置2…...

【Java Web】速通JavaScript

参考笔记:JavaWeb 速通JavaScript_javascript 速通-CSDN博客 目录 一、JavaScript快速入门 1. 基本介绍 2. JavaScript特点 3. JavaScript的引入方式(重要) 3.1 写在script标签中 ​​​​​3.2 以外部文件方式引入 二、JS的数据类型 1. 变量 2. 常用数据类型 3.特殊值 三、…...

TDengine 运维——巡检工具(安装前预配置)

背景 TDengine 的安装部署对环境系统有一定的依赖和要求&#xff0c;安装部署前需要进行环境预配置操作&#xff0c;本文档旨在说明安装前预配置工具在安装 TDengine 前对环境的预配置内容和工具的使用方法。 预配置工具使用方法 工具支持通过 help 参数查看支持的语法 Usa…...

C#索引器详解:让对象像数组一样被访问

索引器是C#中一个强大而实用的特性&#xff0c;它允许我们像访问数组一样访问类的成员。本文将全面介绍索引器的概念、语法、实现方式以及实际应用场景。 索引器基础概念 索引器&#xff08;Indexer&#xff09;是一组get和set访问器&#xff0c;与属性类似&#xff0c;但有以…...

机器学习课设

&#x1f393; 图像处理课程设计任务书 课程名称&#xff1a; 图像处理与模式识别 课设题目&#xff1a; 基于手工特征提取与传统机器学习方法的图像分类系统实现 一、课设目的 本课程设计旨在加深对图像处理与分类算法的理解&#xff0c;提升图像特征提取、传统机器学习模…...

vue 如何对 div 标签 设置assets内本地背景图片

在 Vue 中为 <div> 设置 assets 目录下的本地背景图片&#xff0c;需要通过 Webpack 或 Vite 等构建工具 处理路径引用。以下是详细实现方法&#xff1a; 一、项目结构说明 假设你的项目结构如下&#xff1a; src/assets/images/bg.jpg # 背景图片components/…...

wsl2 docker重启后没了

参考这篇文章&#xff1a;wsl2 docker重启后没了_mob64ca12f55920的技术博客_51CTO博客...

ubuntu 22.04 配置静态IP、网关、DNS

1、打开配置文件 vi /etc/netplan/00-installer-config.yaml 2、修改文件内容 # This is the network config written by subiquity network:ethernets:ens33:dhcp4: false # 禁用 dhcpaddresses:- 192.168.12.15/24 # 静态IProutes:- to: defaultvia: 192.168.12.254 …...

RDS PostgreSQL手动删除副本集群副本的步骤

由于PostgreSQL不支持直接删除副本集群&#xff0c;而是需要先将副本集群升级到主实例(区域集群)&#xff0c;然后在逐一将写入器实例删除&#xff0c;然后才可以删除副本集群 查看现有的主从实例集群 将副本集群提升到区域集群 选择副本集群–>操作–>提升 提升只读副本…...

MySQL 自增主键重置详解:保持 ID 连续性

目录 前言正文 前言 爬虫神器&#xff0c;无代码爬取&#xff0c;就来&#xff1a;bright.cn Java基本知识&#xff1a; java框架 零基础从入门到精通的学习路线 附开源项目面经等&#xff08;超全&#xff09;【Java项目】实战CRUD的功能整理&#xff08;持续更新&#xff09…...

Vue Hook Store 设计模式最佳实践指南

Vue Hook Store 设计模式最佳实践指南 一、引言 在 Vue 3 组合式 API 与 TypeScript 普及的背景下&#xff0c;Hook Store 设计模式应运而生&#xff0c;它结合了 Vue 组合式 API 的灵活性与状态管理的最佳实践&#xff0c;为开发者提供了一种轻量级、可测试且易于维护的状态…...

国产化Word处理控件Spire.Doc教程:通过Java简单快速的将 HTML 转换为 PDF

在处理 HTML 文件时&#xff0c;你可能会发现它们在不同的浏览器和屏幕尺寸下的显示效果并不一致。而将 HTML 转换为 PDF 则可以有效地保留其布局和格式&#xff0c;从而确保内容在不同设备和平台上的呈现保持一致。本文将介绍如何在 Spire.Doc for Java 的帮助下通过 Java 将 …...

Spring AI 1.0 GA深度解析与最佳实践

随着人工智能技术的快速发展&#xff0c;Spring AI 1.0 GA 的发布标志着 Spring 生态在 AI 领域迈出了重要一步。本文将从原理、全景架构设计、最佳实践、性能测试对比等维度&#xff0c;全面解析如何基于 Spring AI 构建企业级 AI 应用&#xff0c;并以接入 DeepSeek 大模型为…...

Java求职面试:从Spring到微服务的技术挑战

Java求职面试&#xff1a;从Spring到微服务的技术挑战 在这个故事中&#xff0c;我们将进入一个模拟的互联网大厂Java求职者面试现场。面试官严肃而专业&#xff0c;而求职者谢飞机则以其幽默和捉摸不透的回答&#xff0c;让面试过程充满了趣味。 第一轮&#xff1a;基础框架…...

鸿蒙OSUniApp 开发的图文混排展示组件#三方框架 #Uniapp

使用 UniApp 开发的图文混排展示组件 在移动应用开发中&#xff0c;图文混排展示是资讯、社区、电商、教育等场景中极为常见的需求。一个灵活、美观的图文混排组件&#xff0c;不仅能提升内容的可读性&#xff0c;还能增强用户的视觉体验。随着 HarmonyOS&#xff08;鸿蒙&…...

WHAT - 学习 WebSocket 实时 Web 开发

文章目录 一、基础知识了解1. WebSocket 是什么&#xff1f;2. 它的优势&#xff1a; 二、基本工作流程三、快速体验&#xff1a;使用原生 WebSocket客户端&#xff08;浏览器端 JS&#xff09;&#xff1a;服务端&#xff08;Node.js 示例&#xff0c;使用 ws 库&#xff09; …...

5G NTN卫星通信发展现状(截止2025年3月)

今天咱们用实实在在的数据唠唠卫星通信这事儿—这些数字可比科幻片还刺激&#xff0c;直接告诉你这玩意儿现在有多火&#xff0c;未来能有多野&#xff01; 先甩个大数字&#xff1a;截至2025年3月&#xff0c;全球已经有143个运营商和卫星厂商的合作项目&#xff0c;覆盖53个国…...

【计算机网络】第2章:应用层—DNS

目录 一、PPT 二、总结 DNS&#xff08;域名系统&#xff09;详解 &#xff08;一&#xff09;DNS核心概念 &#xff08;二&#xff09;DNS查询过程&#xff08;重点❗&#xff09; &#xff08;三&#xff09;DNS资源记录&#xff08;RR&#xff09;类型…...