上篇文章写到tx的jsxmp的算法逆向,文章链接在这里。初试jsvmp加密
。但是可能有伙伴觉得不够详细。
这里放一个大佬的文章链接。
.html
。其实就是一个变形的xtea加密。
大佬的文章已经讲了很清楚了,我这里就不狗尾续貂了。
在逆向算法的时候,我们简单补了一下环境,让jsvmp能再node环境里面跑起来。但是生成结果肯定是不对的。直接拿来用是不行的。
我们上次在jsvmp里面插桩。拿到输出结果。
我们可以找到四个类似的字符串,我们逆向出算法可以知道,就是collect就是由这四个的字符串加密出来的。
我们拿到这个四个字符串和浏览器生成的进行对比。
我们在浏览器进行覆盖js,把我们本地js拿到浏览器里面运行,查看浏览器输出的环境,看看有啥不一样。
这里拿别人大佬分析的参数,我自己再补充几个
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": ".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": ".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, )
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的文章。链接在这里
接下来就是自己慢慢补了,上次我有分享一个qxvm补环境框架,但是里面没有实现动态dom。
要自己实现。但是这个tx的jsvmp对dom补环境比较严格,自己实现动态dom比较麻烦。
我这边魔改的jsodom。里面已经实现了动态dom了,是一个非常完美的补环境框架。然后就是缺啥补啥。最后测试没啥问题。
交流群:835342318
本文发布于:2024-01-29 19:34:16,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170652806017773.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |