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

基于Rokid灵珠AI平台的春节全能助手智能体开发实践

基于Rokid灵珠AI平台的春节全能助手智能体开发实践

前言 本次开发基于Rokid灵珠AI平台,聚焦春节高频的抢票出行、路线规划、年货比价核心场景,搭建轻量化春节全能助手智能体,通过平台可视化工作流编排实现功能逻辑串联;因无Rokid Glasses实物,智能体完成灵珠平台内对话测试验证,眼镜端适配仅编写伪代码实现逻辑预留,整体开发聚焦平台核心的智能体配置与工作流开发能力,实现低门槛、高适配的春节场景AI应用落地。 本文应用基于Rokid灵珠智能体/CXR SDK开发,开发指南https://forum.rokid.com/index 一、开发背景与需求分析 春节期间抢票、年货采购、出行路线规划是用户核心需求,依托Rokid灵珠AI平台零门槛、全栈化的开发特性,无需复杂编码即可完成智能体与工作流的搭建,同时平台支持与Rokid Glasses硬件生态的深度集成,为后续眼镜端落地预留适配接口;本次开发核心实现三大功能:12306高铁票查询、春节自驾路线规划、年货好物低价推荐,所有功能通过灵珠平台智能体统一承接,工作流分别处理具体业务逻辑,满足用户春节出行与采购的一站式需求。 二、开发环境与平台核心能力依托 1. 开发平台:

前端趋势:别被时代抛弃

前端趋势:别被时代抛弃 毒舌时刻 这代码写得跟博物馆似的,都是过时的技术。 各位前端同行,咱们今天聊聊前端趋势。别告诉我你还在使用过时的技术,那感觉就像在 5G 时代还在用 2G 网络——能用,但慢得要命。 为什么你需要关注前端趋势 最近看到一个项目,还在使用 React 16,不知道 React 18 的并发模式。我就想问:你是在做开发还是在做考古? 反面教材 // 反面教材:使用过时技术 // App.jsx import React, { useState, useEffect } from 'react'; function App() { const [data, setData] = useState([]); const [loading, setLoading] = useState(true)

【保姆级教程】从零到一:在飞书中接入 OpenClaw,打造你的专属 AI 助手

摘要:本文将手把手带你从零开始,完成 OpenClaw 的安装部署,并将其接入飞书,让你在飞书聊天窗口中直接与 AI 助手对话、下达指令。全文覆盖环境准备、一键安装、AI 模型配置、飞书机器人创建与对接、首次使用以及常见问题排查,适合所有技术水平的读者。 一、OpenClaw 是什么? OpenClaw(前身为 ClawdBot / Moltbot)是 2026 年迅速崛起的一个开源 AI 智能体项目。与 ChatGPT 等云端 AI 不同,OpenClaw 运行在你自己的本地环境(个人电脑或云服务器)中,核心理念是"将控制权交还给用户"。 简单来说,OpenClaw 是一个 AI 网关——它连接了你日常使用的通信工具(如飞书、钉钉、

2026最新 Dify 私有化部署完整教程:从0到1搭建专属AI知识库平台

2026最新 Dify 私有化部署完整教程:从0到1搭建专属AI知识库平台 本文适配 Dify 1.13.0+ 最新社区版,全程可复现,新手友好。覆盖国内服务器加速部署、外接已有MySQL/Redis(关键避坑)、云服务器DNS解析、Nginx反向代理+HTTPS、API对外提供全流程,解决部署过程中99%的坑。 前言 Dify 是一款开源的大语言模型应用开发平台,凭借可视化编排、企业级RAG知识库、全链路LLMOps能力,让个人开发者和中小企业都能快速搭建专属AI应用、知识库问答系统,还能封装成API对外提供服务。 本文基于国内云服务器环境(Ubuntu 22.04),全程使用国内加速源,重点解决了外接MySQL/Redis时的依赖报错、服务名解析失败等核心问题,最终实现生产级可用的私有化Dify平台。 你能从本文学到 1. 零基础完成Dify私有化部署,适配国内服务器环境 2. 完美复用服务器已有MySQL/Redis,不启动冗余容器(核心避坑) 3.