瑞数6代vmp算法还原流程笔记,406位的cookie及请求后缀

**本文主要提供思路和流程,不提供代码**

1.解决debugger和怎么进行算法调试

        1.debugger解决

        第一个debugger通过右键一律不在此暂停解决

瑞数6代vmp算法还原流程笔记,406位的cookie及请求后缀

        第二个通过在控制台输入以下hook eval的代码便可解决

var eval_ = window.eval;
window.eval = function(x){
    eval_(x.replace("debugger;","  ; "));
};
window.eval.toString = eval_.toString;

        2.如何调试

          1.将控制台的日志错误输出关闭,不然一直输出报错的日志

瑞数6代vmp算法还原流程笔记,406位的cookie及请求后缀

         2.在解决完debugger后的环境下,在新代码段创建一段新的脚本,主要两部分,ts和对应的js,这里是说第一次生成的214位cookis,运行后可以看到document里面是有设置值的,这个值便是有用的214位cookies

        瑞数6代vmp算法还原流程笔记,406位的cookie及请求后缀

瑞数6代vmp算法还原流程笔记,406位的cookie及请求后缀

        3.至此便可以开始调试了。

2.如何插桩

         1.搜索.call找到进入vm的地方

        瑞数6代vmp算法还原流程笔记,406位的cookie及请求后缀                2.搜索<= 63在此处进行插桩,通过日志进行分析,这里日志参数可以自己增加,看自己需要哪些

        瑞数6代vmp算法还原流程笔记,406位的cookie及请求后缀

3.根据日志分析各个参数(里面需要分析的参数有点多,这里只说一部分)

      1.生成35个数组的八位数组如何生成

               

                根据日志可以看到8位数组是通过这个180的大数组生成的

                瑞数6代vmp算法还原流程笔记,406位的cookie及请求后缀

        

             180的数组生成: 由r2mKa那一串函数生成的对象中的60位数组取得第23位

瑞数6代vmp算法还原流程笔记,406位的cookie及请求后缀

               在_$h6.length == 180的时候打上条件断点,通过一步步跟,可以发现8位数组是经过4个数组经过运算生成的,

        2.通过日志分析4个数组的生成流程:

        ts[‘cd’]生成的大数组经过运算生成数组array_155,array_1121

        瑞数6代vmp算法还原流程笔记,406位的cookie及请求后缀

        array_155经过$_ts[‘cp’][3]生成的16位数组进行更新

        瑞数6代vmp算法还原流程笔记,406位的cookie及请求后缀

        然后将array_155按照固定的算法拆分为4个数组和对应的index,并将r2mKa生成的60位数组按照index进行替换

        到这4位数组就生成了通过_$mY这个函数就可以运行得出,

        得到8位数组经过和array_1121经固定的运算可以得到35位数组

4.关于406长度的数组

        通过搜索 = 0 : 0,  找到这个位置打上断点瑞数6代vmp算法还原流程笔记,406位的cookie及请求后缀

        发现跟203位的对比,多了几个数组,分别是

        前缀为1,长度为36的数组,应该是鼠标轨迹生成的,后面测试发现可以固定

        前缀为0,长度为101的数组,应该是浏览器指纹生成,也可以固定

        前缀为4,长度为13或14不固定,也可以固定

        最后整合为一个304位的数组,再经过转化变成406长度的数组,转化步骤跟214的差不多

5.搜索所需要的参数生成

        1.日志生成断点位置

                在open和send函数打上断点,也是在<= 63这个地方插桩

                瑞数6代vmp算法还原流程笔记,406位的cookie及请求后缀

        2.参数生成步骤

                里面这些函数名称自己根据日志分析,跟生成cookie过程差不多

                array_23生成的步骤可以在这里打上断点一步步跟瑞数6代vmp算法还原流程笔记,406位的cookie及请求后缀

                temp_time 的生成跟前缀为10的长度18的数组后面那部分规则是一样的

params = _$nZ(array_72)  
array_72 = array_4 + array_68  //array_4  是有array_68经过一个函数生成

array_68  = 之前生成的array35中取第二个 + array_32.length+ array_32

array_32 = array_25和 35中取第17 生成的21位数组
array_25 = 11+ array_23.length+ array_23


array_23 = []
_$aP(array_23,48);
_$cm(array_23,1)
_$dv(array_23,array_35_10);  //  35中取第10 生成
_$aP(array_23,array_35_19);  //  35中取第19 生成
_$$K(array_23,temp_time)
url_params_num = _$fU(url_params.toUpperCase())
_$aP(array_23,url_params_num)
_$gq(array_23,0,49)
        

                

       

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/d7eb440e8c.html