TK X-Gnarly:基于 AI 辅助的 JSVMP 纯算还原方案

TK X-Gnarly:基于 AI 辅助的 JSVMP 纯算还原方案

TK X-Gnarly:基于 AI 辅助的 JSVMP 纯算还原方案

声明
此帖仅为记录我的逆向学习,过程文章中所有内容仅供学习交流使用,不用于其他任何目的,严禁用于非法用途,否则由此产生的一切后果均与作者无关!

前言:攻防背景与环境

  • 目标参数X-Gnarly (设备指纹/环境检测)。
  • 分析版本
    • Webmssdk 版本:2.0.0.447
    • 内部版本:5.1.3
    • 文件地址:webmssdk.js
  • 难点痛点
    • JSVMP 虚拟机保护(几百个解释器函数,堆栈晦涩)。
    • 高频的混淆与复杂的控制流扁平化。
    • AST没有实战水平,日志量大很难理清思路。

第一部分:逆向工程方法论

  • 核心思路:不硬啃 VMP 指令,采用**日志挂钩(Logging)+ 结果倒推(Backtracking)**策略。
  • 新颖手段:利用**大模型(Cursor/ChatGPT)**进行算法特征识别。

第二部分:X-Gnarly 逆向实战

2.1 定位与插桩
  • 寻找入口:通过搜索字符串 X-Gnarly 快速定位 n.u.o[971]
  • 跟栈进行插桩
    • Prompt 调优与人工兜底
      面对几十个插桩点,AI生成插桩日志,导致 VMP 执行流崩溃。这可能是 Prompt 约束不够严格所致。最终的解决方案是人工手写效率太低,全 AI 生成风险太高。

面对 JSVMP 的复杂混淆,硬啃 AST 效率极低。本文提出一种新思路:利用日志插桩提取原始表达式,借助 AI 的推理引擎进行逻辑重组。

在这里插入图片描述

标准的 JSVMP 格式,单步调试,找applycall和运算进行插桩

在这里插入图片描述
2.2 日志分析-倒推分析法(由果索因)
  1. 324位字符串生成逻辑
  2. 第二层 193位乱码分析
    • 193位乱码由 16位数组 + 轮询次数+ 193位数组 通过计算生成
    • 通过日志观察 48位乱码 、12位数组 和 轮询次数是日志输出很接近。将日志喂给AI,直接生成代码。

将日志投喂给 AI,识别出 ChaCha 算法特征,魔改的chacha算法。

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

乱码观察拼接结构:K + 193位乱码-上 + 48乱码 + 193乱码-下

在这里插入图片描述

乱码通过 Base64 自定义码表 (u09tbS3UvgDEe6r-ZVMXzLpsAohTn7mdINQlW412GqBjfYiyk8JORCF5/xKHwacP=)生成324位字符串。
将日志全盘喂给AI可以直接生成js代码。

在这里插入图片描述
在这里插入图片描述
  1. 第一层 193位乱码分析
    • 16位对象根据key的打乱的顺序推断,这里纯在打乱算法,把日志喂给AI,同上
  2. 16位的对象生成
    • 同上,日志喂给AI

把日志喂给AI,输出JS代码

在这里插入图片描述

观察日志是由193位乱码是由一个16位的对象生成

在这里插入图片描述

结语

  • 总结:JSVMP 逆向从“人肉硬跟”转变为“日志分析+AI识别”的趋势。
  • 免责声明:技术研究用途,请勿用于非法业务。

Read more

xxxwww在电商爬虫中的实际应用案例

快速体验 1. 打开 InsCode(快马)平台 https://www.inscode.net 2. 点击'项目生成'按钮,等待项目生成完整后预览效果 输入框内输入如下内容: 构建一个基于xxxwww的电商爬虫系统,能够自动抓取指定电商平台的商品信息(名称、价格、评价等),并将数据清洗后存储到MySQL数据库。要求实现定时任务和反爬虫策略,输出可视化报表。 电商数据爬虫的需求背景 在电商运营和市场竞争分析中,及时获取竞品价格、用户评价等数据至关重要。传统人工收集效率低下,而爬虫技术可以自动化这一过程。最近我用xxxwww技术实现了一个电商爬虫系统,能够定时抓取多个平台商品数据并生成可视化报表,大幅提升了团队的数据获取效率。 系统核心功能设计 整个系统主要分为四个模块,每个模块都针对电商数据特点做了优化: 1. 爬虫调度模块:负责管理爬取任务队列,协调多个平台的爬取节奏 2. 数据抓取模块:使用xxxwww技术实现商品详情页的精准定位和数据提取 3. 数据处理模块:对原始数据进行清洗、去重和格式标准化 4.

By Ne0inhk
MySQL 性能优化:索引优化与查询优化

MySQL 性能优化:索引优化与查询优化

MySQL 性能优化:索引优化与查询优化 在实际生产环境中,数据库性能对业务响应速度和系统稳定性至关重要。MySQL 提供了多种手段来提升查询性能,而索引优化与查询优化是其中最常见也是最有效的方法。本文将详细探讨如何通过合理设计索引和优化查询语句来改善 MySQL 的性能。 1. 索引优化 1.1 索引的作用 索引类似于书籍的目录,能够大幅减少查询时的数据扫描量,加快数据定位。通过为查询条件和排序字段建立索引,可以提高 SELECT、JOIN 和 WHERE 子句的执行效率。 1.2 常见索引类型 * B-Tree 索引:MySQL 默认的索引类型,适用于大部分场景(如范围查询、精确匹配)。 * 哈希索引:主要应用于 MEMORY 存储引擎,对于等值查询有较高性能,但不支持范围查询。 * 全文索引:专为文本搜索设计,适用于 MyISAM 和 InnoDB(从 5.

By Ne0inhk
【SpringAI】第五弹:基于 Spring AI ToolCallback Function 实现文件操作、联网搜索、网页抓取、终端操作、资源下载、PDF生成等工具的开发与调用、核心特性解析

【SpringAI】第五弹:基于 Spring AI ToolCallback Function 实现文件操作、联网搜索、网页抓取、终端操作、资源下载、PDF生成等工具的开发与调用、核心特性解析

本节重点 以 Sprin‏g AI 框架为例,学习 A‏I 应用开发的核心特性 ——‏ 工具调用,大幅增强 AI ‏的能力,并实战主流工具的开发‌,熟悉工具的原理和高级特性。 具体内容包括: * 工具调用介绍 * Spring AI 工具开发 * 主流工具开发 * 文件操作 * 联网搜索 * 网页抓取 * 终端操作 * 资源下载 * PDF 生成 * 工具进阶知识(原理和高级特性) 重点理解 1. 使用 @Tool和 @ToolParam注解标记类方法 Spring AI 实现工具调用的流程; Tool Calling 的工作原理 一、需求分析 之前我们通过 RAG 技术让 AI 应用具备了根据外部知识库来获取信息并回答的能力,但是直到目前为止,

By Ne0inhk
YARN架构解析:深入理解Hadoop资源管理核心

YARN架构解析:深入理解Hadoop资源管理核心

YARN架构解析:深入理解Hadoop资源管理核心 🌟 你好,我是 励志成为糕手 ! 🌌 在代码的宇宙中,我是那个追逐优雅与性能的星际旅人。 ✨ 每一行代码都是我种下的星光,在逻辑的土壤里生长成璀璨的银河; 🛠️ 每一个算法都是我绘制的星图,指引着数据流动的最短路径; 🔍 每一次调试都是星际对话,用耐心和智慧解开宇宙的谜题。 🚀 准备好开始我们的星际编码之旅了吗? 目录 * YARN架构解析:深入理解Hadoop资源管理核心 * 摘要 * 1. YARN架构概述 * 1.1 设计理念与核心价值 * 1.2 核心组件架构 * 2. 核心组件深度解析 * 2.1 ResourceManager:集群资源的统一调度者 * 2.2 NodeManager:节点资源的守护者 * 2.3 ApplicationMaster:应用程序的智能管家 * 3. YARN调度策略深度分析 * 3.1 调度器对比分析 * 3.2 Capacity Scheduler配置实战 * 3.

By Ne0inhk