目标
aHR0cHM6Ly93d3cudXJidGl4LmhrLw==
流程
第一次请求响应 202,响应内容中有一段 JS 代码会请求一个 JS 文件,Cookie 生成的核心代码由这个文件中的代码生成,并通过 eval
执行。
Cc2838679FS | 55tgE9EWzzOxyDeuMRQ8rVOKqNZG4W9awmtpvnl1jpeviOqlzHzrnraSnPN8F2w6OqgnjY6ueb1NAN2kE03ryDG |
---|---|
Cc2838679FT | 6RifvpbsLR03qqqDtteJ.XqqugbVLuRivnvigNpsjt3njqkrSk4RXiyIja2R59yxy_YNg3CGyoa5AvhmzyBSV5fYsAz8KkQSFDhvFIQcqvHKrqe4tt9hcGtqIKDOrBe0u016q13WwcDeXgLazsnVVqKTAAI2Uor3zIIS_BWeeJ_8oeVOtZhwixEvvCLCj98dkQUHKVlvYjKdcE4yTwKbtWsU2UmRVLs_e_YamoWbeetwq |
Cc2838679FS
由第一次请求返回,Cc2838679FT
由 JS 生成,通常长度为 237 位,也有 322 位。一般 237 位就足够了。代码生成的最短 Cc2838679FT
为173位,不过似乎也可以用。
JS 文件除了生成加密代码外,也会生成为关键对象 $_ts 添加一些属性值,这些值很重要。
这里简单讲下 128 位数组的大致流程:
生成128位数组 _ I I I(变量名是动态的,这里只举例)
_ I I I[0] = 20位数组 20位数组为拼接而成,其中包含一个重要的4位数组,需要根据 JS 文件的内容进行动态匹配
_ I I I[1] = xx ;
_ I I I[2] = xx ;
_ I I I[3] = xx ;
_ I I I[4] = xx ; 这里四个位置都是固定值,自己调试的时候可以发现
_ I I I[5] = 随机4位数组
_ I I I[6] = 8位数组,其中值的计算涉及到了 $_ts 的一些属性值
_ I I I[7] = xx ;
_ I I I[8] = xx ;
_ I I I[9] = xx ;
_ I I I[10] = xx ; 固定值
_ I I I[11] = 8位数组 将时间戳进行一些逻辑运算,得到一个两位数组,再将数组进行一些逻辑操作得到8位数组
_ I I I[12] = undefined 最后会再次处理
_ I I I[13] = xx ;
_ I I I[14] = xx ;
_ I I I[15] = xx; 固定值
_ I I I[16] = 9位数组 由 “https:443” 生成
_ I I I[17] = xx 固定值
_ I I I[12] = 4 位数组 ,由一个大数字转化而来,大数字通过一些逻辑操作生成
_ I I I[.splice(18, 110) # 173 位 cookie 对应的数组长度为18
Array.prototype.concat.apply([], _ I I I) 得到 87 位的数组
到这里数组就处理完毕了,剩下还有一些数组转字符串等操作,最后可以得到 173 位cookie。如果想要更长的,可以继续调试,寻找更长的数组。
入口
第一次最好固定一份代码,把流程走一遍。
-
进入核心代码入口,
eval
位置,js文件中搜[17])](
-
cookie 生成流程开始点
(903,
文章来源:https://www.toymoban.com/news/detail-719214.html
这里附上成功截图
文章来源地址https://www.toymoban.com/news/detail-719214.html
到了这里,关于瑞数 6 代逆向纯算法大致流程分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!