jsvmp逆向(补环境篇)

2024-01-10 02:10
文章标签 环境 逆向 jsvmp

本文主要是介绍jsvmp逆向(补环境篇),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

书接上回

上篇文章写到tx的jsxmp的算法逆向,文章链接在这里。初试jsvmp加密

。但是可能有伙伴觉得不够详细。

这里放一个大佬的文章链接。

https://www.52pojie.cn/thread-1521480-1-1.html

。其实就是一个变形的xtea加密。

大佬的文章已经讲了很清楚了,我这里就不狗尾续貂了。

查看node环境参数

在逆向算法的时候,我们简单补了一下环境,让jsvmp能再node环境里面跑起来。但是生成结果肯定是不对的。直接拿来用是不行的。

我们上次在jsvmp里面插桩。拿到输出结果。

图片

我们可以找到四个类似的字符串,我们逆向出算法可以知道,就是collect就是由这四个的字符串加密出来的。

我们拿到这个四个字符串和浏览器生成的进行对比。

查看浏览器生成的参数

我们在浏览器进行覆盖js,把我们本地js拿到浏览器里面运行,查看浏览器输出的环境,看看有啥不一样。

图片

最后对比浏览器环境和node环境生成参数

这里拿别人大佬分析的参数,我自己再补充几个

data = {"0": 1,"1": "Mozilla/5.0 不给看 Edg/100.0.1185.44","2": 12,"3": 0,"4": 1,"5": "2560-1440-1392-24-*-*-|-*","6": "**0.***.***.*46","7": "GgoAAAANSUhEUgAA 不给看 iPegAAAABJRU5ErkJggg==","8": [],"9": 1440,"10": 0,"11": 0,"12": "ANGLE 不给看 vs_5_0 ps_5_0, D3D11)","13": "https://captcha.gtimg.com/1/template/drag_ele.html?rand=1519713624347","14": ["zh-CN", "en", "en-GB", "en-US"],"15": 1689646445,"16": 396149498,"17": 1689155967,"18": 1689646443,"19": "Google 不给看 ","20": 1520994948,"21": [300, 230],"22": 2560,"23": "iframe","24": "","25": 24,"26": "+08","27": 0,"28": 2,"29": 0,"30": "https://y.qq.com/portal/close.html","31": "UTF-8","32": 1023,"33": "98k","34": "","35": "Win32","36": 0
}

按照索引进行解释

  • 1 userAgent

  • 2 Navigator.hardwareConcurrency

  • 3 dom检测自动化检测,相当残暴,正确为0,否则为其他的数字, 创建节点,设置属性, 追加节点, 删除节点, innertHTML 正则匹配, (createElement, cloneNode,appendChild, insertBefore...)

  • 5-22-25 Screen width, height,availHeight, colorDepth, pixelDepth 拼接而成

  • 6 RTC sdp 正则匹配出来的ip地址 (我这边没有看到这个参数)

  • 7 canvas指纹

  • 8 deviceorientation事件 , 不调用就对了

  • 9 Screen.height

  • 12-19 webgl指纹

  • 13 location.href

  • 14 languages

  • 16 -17 TDC_itoken

  • 20 这个参数应该是每个js不一样的。js字节码里面有

  • 21 window innerHeight, innerWidth;

  • 23 正确创建 iframe节点 contentWindow, contentDocument

  • 28 会检测div的touchstart属性

  • 27-29 dom检测

  • 30 window.TCaptchaReferrer

  • 32 样式检测,正确为1023(可能不同浏览器不一样), 包括(getPropertyValue, matchMedia), 初始化默认全为false(0)

    这里还是拿的y小白的笔记的csdn的文章。链接在这里

  • https://blog.csdn.net/weixin_44437016/article/details/131785557
总结

接下来就是自己慢慢补了,上次我有分享一个qxvm补环境框架,但是里面没有实现动态dom。

要自己实现。但是这个tx的jsvmp对dom补环境比较严格,自己实现动态dom比较麻烦。

我这边魔改的jsodom。里面已经实现了动态dom了,是一个非常完美的补环境框架。然后就是缺啥补啥。最后测试没啥问题。

图片

交流群:835342318

这篇关于jsvmp逆向(补环境篇)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/589202

相关文章

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Centos环境下Tomcat虚拟主机配置详细教程

《Centos环境下Tomcat虚拟主机配置详细教程》这篇文章主要讲的是在CentOS系统上,如何一步步配置Tomcat的虚拟主机,内容很简单,从目录准备到配置文件修改,再到重启和测试,手把手带你搞定... 目录1. 准备虚拟主机的目录和内容创建目录添加测试文件2. 修改 Tomcat 的 server.X

VSCode配置Anaconda Python环境的实现

《VSCode配置AnacondaPython环境的实现》VisualStudioCode中可以使用Anaconda环境进行Python开发,本文主要介绍了VSCode配置AnacondaPytho... 目录前言一、安装 Visual Studio Code 和 Anaconda二、创建或激活 conda

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中

Windows环境下安装达梦数据库的完整步骤

《Windows环境下安装达梦数据库的完整步骤》达梦数据库的安装大致分为Windows和Linux版本,本文将以dm8企业版Windows_64位环境为例,为大家介绍一下达梦数据库的具体安装步骤吧... 目录环境介绍1 下载解压安装包2 根据安装手册安装2.1 选择语言 时区2.2 安装向导2.3 接受协议

SpringBoot基于沙箱环境实现支付宝支付教程

《SpringBoot基于沙箱环境实现支付宝支付教程》本文介绍了如何使用支付宝沙箱环境进行开发测试,包括沙箱环境的介绍、准备步骤、在SpringBoot项目中结合支付宝沙箱进行支付接口的实现与测试... 目录一、支付宝沙箱环境介绍二、沙箱环境准备2.1 注册入驻支付宝开放平台2.2 配置沙箱环境2.3 沙箱