a_bogus算法还原

最近看到这个参数花了点时间研究了一下 流程和X-Bogus差不多,通过对这段字符串
Dkdpgh2ZmsQB80/MfvV36XI1R45-WUAlEixNLwoqYTOPuzKFjJnry79HbGcaStCe
charAt得到最终的44位字符串,代码如下

    for (var i = 0; i <= 30; i += 3) {
        var charCodeAtNum0 = garbledString.charCodeAt(i);
        var charCodeAtNum1 = garbledString.charCodeAt(i + 1);
        var charCodeAtNum2 = garbledString.charCodeAt(i + 2);
        var baseNum = charCodeAtNum2 | charCodeAtNum1 << 8 | charCodeAtNum0 << 16;
        // 依次生成四个字符
        var str1 = short_str[(baseNum & 16515072) >> 18];
        var str2 = short_str[(baseNum & 258048) >> 12];
        var str3 = short_str[(baseNum & 4032) >> 6];
        var str4 = short_str[baseNum & 63];
        ABogus += str1 + str2 + str3 + str4;
    }

其中garbledString是乱码字符串,通过对时间戳、userAgent、请求的参数等进行计算得到
计算过程中需要一个4位数组和29位数组,以及一些方法调用,这里通过多次插桩分析日志可以还原调用的函数,数组的计算方法
还是有一点难度的 算法还原完 大概200行左右 感兴趣的可以交流一下
a_bogus算法还原_第1张图片

你可能感兴趣的:(python,爬虫,js,js逆向,a_bogus,jsvmp)