美文网首页爬虫
某音live x-b算法(js)

某音live x-b算法(js)

作者: sexy_cyber | 来源:发表于2022-02-05 19:24 被阅读0次
const CryptoJS = require('crypto-js');
var MD5 = require("crypto-js/md5");
var Base64 = require("crypto-js/enc-base64.js");

function _0x237a87(_0x5c3d2a) {
    var _0x50ff23 =   [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,1,2,3,4,5,6,7,8,9,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,10,11,12,13,14,15]
    for (var _0x1204d6 = _0x5c3d2a['length'] >> 0xa1e * -0x2 + 0x1937 + 0x4fa * -0x1, _0x700552 = _0x1204d6 << 0x68 + -0xa29 + 0x9c2, _0x1673dd = new Uint8Array(_0x1204d6), _0x19eb71 = 0xe9e + -0x167 + -0xd37, _0x249396 = 0x1 * 0x104a + 0xaa9 + 0x1af3 * -0x1; _0x249396 < _0x700552;)
        _0x1673dd[_0x19eb71++] = _0x50ff23[_0x5c3d2a['charCodeAt'](_0x249396++)] << -0x1938 + 0x10c4 * -0x1 + 0x2a00 | _0x50ff23[_0x5c3d2a['charCodeAt'](_0x249396++)];
    return _0x1673dd;
}

function _0x238632(_0x4cdef5, _0x268c9c) {
    let _0x2b4641, _0xbb44d8 = [], _0x138ea3 = 0x140 + -0x2038 + -0x7be * -0x4, _0xc9f8ff = '';
    for (let _0x332e7e = 0x17 * -0x8 + -0x910 + 0x2 * 0x4e4; _0x332e7e < 0x24e + -0x2533 + 0xbf7 * 0x3; _0x332e7e++)
        _0xbb44d8[_0x332e7e] = _0x332e7e;
    for (let _0x369701 = 0x77a * -0x5 + -0x3 * 0x689 + -0x12ff * -0x3; _0x369701 < 0x1b3 * 0x12 + -0x1e3 + 0x3f5 * -0x7; _0x369701++)
        _0x138ea3 = (_0x138ea3 + _0xbb44d8[_0x369701] + _0x4cdef5['charCodeAt'](_0x369701 % _0x4cdef5['length'])) % (0x16d0 + 0x12 * -0xf4 + 0x254 * -0x2),
            _0x2b4641 = _0xbb44d8[_0x369701],
            _0xbb44d8[_0x369701] = _0xbb44d8[_0x138ea3],
            _0xbb44d8[_0x138ea3] = _0x2b4641;
    let _0x1a0256 = 0x1ca3 + 0x1a34 + -0x36d7;
    _0x138ea3 = 0xdc * 0x28 + -0x15d * 0x1 + 0x3ab * -0x9;
    for (let _0x1b288d = 0x9 * 0x349 + 0x1e7f + -0x3c10 * 0x1; _0x1b288d < _0x268c9c['length']; _0x1b288d++)
        _0x1a0256 = (_0x1a0256 + (0x14ef * -0x1 + -0x1752 + -0x37 * -0xce)) % (-0x312 + 0x171d + -0x130b),
            _0x138ea3 = (_0x138ea3 + _0xbb44d8[_0x1a0256]) % (0x3 * 0x66d + -0x3 * -0x13d + -0x15fe),
            _0x2b4641 = _0xbb44d8[_0x1a0256],
            _0xbb44d8[_0x1a0256] = _0xbb44d8[_0x138ea3],
            _0xbb44d8[_0x138ea3] = _0x2b4641,
            _0xc9f8ff += String['fromCharCode'](_0x268c9c['charCodeAt'](_0x1b288d) ^ _0xbb44d8[(_0xbb44d8[_0x1a0256] + _0xbb44d8[_0x138ea3]) % (-0x1db3 + 0x1 * -0x733 + -0x15 * -0x1ce)]);
    return _0xc9f8ff;
}

function md5(str) {
    var str =  CryptoJS.enc.Utf8.parse(str);
    var str = MD5(str).toString();
    return str
}

function hex_md5(str) {
    var str =  CryptoJS.enc.Hex.parse(str);
    var str = MD5(str).toString();
    return str
}

function get_one_list(url_para) {
    var str_1 = md5(url_para);
    str_1 = hex_md5(str_1);
    return _0x237a87(str_1)
}

function get_two_list() {
    var str_2 = hex_md5("d41d8cd98f00b204e9800998ecf8427e");
    return _0x237a87(str_2)
}

function get_three_list(ua) {
    var str_3= _0x238632("\u0001\u0001\b", ua);
    str_3 = Buffer.from(str_3, 'ASCII').toString('base64');
    str_3 = md5(str_3);
    str_3 = _0x237a87(str_3);
    return str_3

}

function get_time_sign(time_now) {
    var list_time = [];
    for (var i of [24, 16, 8, 0]){
        var num_1 = time_now >> i;
        list_time = list_time.concat(num_1 & 255)
    }
    return list_time
}

function get_num_sign() {
    var num = 3963386674;
    var list_time = [];
    for (var i of [24, 16, 8, 0]){
        var num_1 = num >> i;
        list_time = list_time.concat(num_1 & 255)
    }
    return list_time
}

function get_last_sign(index_list) {
    var num = 0;
    for (var i of index_list){
        if (num == 0){
            num = i;
            continue
        }
        num = num^i;
    }
    return num
}

function get_index_str(url_para, ua, time_now) {
    var get_one_list_list = get_one_list(url_para);
    var get_two_list_list = get_two_list();
    var get_three_list_list = get_three_list(ua);
    var index_list_1 = [64,1.00390625,1,8,get_one_list_list[14], get_one_list_list[15],get_two_list_list[14], get_two_list_list[15],get_three_list_list[14], get_three_list_list[15]];
    var index_list_2 = get_time_sign(time_now);
    var index_list_3 = get_num_sign();
    var index_list = index_list_1.concat(index_list_2,index_list_3);
    var index_list_last = get_last_sign(index_list);
    index_list = index_list.concat(index_list_last);
    var last_str = ""
    for (var i of index_list){
        last_str += String.fromCharCode(i);
    }
    last_str = "\u0002ÿ" + _0x238632("ÿ", last_str);
    return last_str
}

function all_num(last_str){
    var num_list = [];
    for (var i=0;i<last_str.length;i++) {
        var num_list = num_list.concat(last_str.charCodeAt(i));
    }
    var result = [];
    for (var i=0;i<num_list.length;i+=3) {
        result.push(num_list.slice(i, i+3))
    }
    var result_list = [];
    for (var i of result){
        var num_1 = i[0]<<16;
        var num_2 = i[1]<<8;
        var num_3 = num_1^num_2;
        var num_4 = num_3^i[2];
        result_list.push(num_4)
    }
    return result_list

}

function get_xb(all_num_list) {
    var _str = "Dkdpgh4ZKsQB80/Mfvw36XI1R25-WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe=";
    var result_str = "";
    for (var i of all_num_list){
        for (var j of [[16515072,18],[258048,12],[4032,6],[63,0]]) {
            var num_1 = i & j[0];
            var num_2 = num_1>>j[1];
            result_str += _str[num_2];
        }
    }
    return result_str
}

function xb_main(url_para, ua) {
    var time_now = (new Date().getTime()/1000).toFixed(3);
    var last_str = get_index_str(url_para, ua, time_now);
    var all_num_list = all_num(last_str);
    var xb = get_xb(all_num_list);
    return xb
}

相关文章

  • 某音live x-b算法(js)

  • 某抖,某音端口

    以下有些信息我是省略的,已经生成API,可直接调用 某音作品信息端口: 某音达人数据端口

  • 如何用数学家的思维指导生活、管理时间?

    最近读完了英文图书《指导生活的算法》——Algorithms to Live By: The Computer S...

  • 某音之流

    我鲜少刷某音。我总觉得,刷某音是一件极其浪费时间的事情。 总在文章里看到,说,如今的社会是一个娱乐至死的时代。 近...

  • 刷某音

    刷某音真的会让人停不下来 它没有尽头 没有结束 有时候你很累了,你的心不想刷了,你的手却还在刷 相比一下微博甚至更...

  • 某音直播

    最近每次看某音都是被安利了。说实话,我对直播这种不是特别了解,但可能因为之前一直被善意提醒过“一入音门难抽身”,我...

  • 网络营销-网赚变现(持续更新ING)

    新媒体/自媒体:快手,抖音等 抖音[引流→变现]实操。 知识补充: 抖音算法揭秘: 什么是算法? 算法代表着用系统...

  • 如何从0起步,打造100万抖音粉丝月入5万+ 第07课

    如何从0起步,打造100万抖音粉丝月入5万+ 第07课:揭秘抖音背后的系统算法 揭秘抖音背后的系统算法 抖音算法三...

  • 大数据时代,让写作更方便

    其实从某音,某手等自媒体平台兴起,我们就进入到,我称他为大数据时代; 你也可以理解为互联网算法时代,你的吃穿住行,...

  • 排序算法

    JS里排序算法的写法:

网友评论

    本文标题:某音live x-b算法(js)

    本文链接:https://www.haomeiwen.com/subject/aakykrtx.html