猿人学逆向第16题(js逆向)

直接抓包分析,我们可以看出这个部分的请求参数是一个时间戳,页数,和被加密参数m的数值。

现在我们需要找到被加密参数m的位置,但是由于无法直接搜索,这样检索的范围太广了,所以这边使用xhr断点缩小范围进行检索。

复制下来路径,填写到xhr断点的位置

开始找m加密的位置,一步步的分析堆栈。发现加密的位置,复制这个代码,开始找位置。

我们可以看出来m的组成是

m = n[e(528)](btoa, p_s)

直接输出n[e(528)]查看一下是什么,只是一个参数的调用。

所以m简写格式可以写成

m = btoa(p_s)

这边可以直接看出p_s是一个时间戳

所以这里我们开始找一下btoa,控制台输出快速定位。

复制到本地修改名称。


function btoa(e) {
    var t = u
      , r = {};
    r.TGmSp = t(244) + "ARACTER_ERR",
    r[t(238)] = t(224) + t(250) + "/",
    r[t(205)] = "^([^ ]+( +" + t(230) + t(259),
    r.aYkvo = function(e) {
        return e()
    }
    ,
    r[t(254)] = function(e, t) {
        return e % t
    }
    ,
    r.evetF = function(e, t) {
        return e >> t
    }
    ,
    r.GfTek = t(196),
    r[t(260)] = function(e, t) {
        return e << t
    }
    ,
    r[t(229)] = function(e, t) {
        return e | t
    }
    ,
    r[t(242)] = function(e, t) {
        return e << t
    }
    ,
    r[t(228)] = function(e, t) {
        return e & t
    }
    ,
    r[t(207)] = function(e, t) {
        return e << t
    }
    ,
    r[t(202)] = function(e, t) {
        return e & t
    }
    ,
    r.jdwcO = function(e, t) {
        return e === t
    }
    ,
    r.kPdGe = t(231),
    r[t(195)] = t(213),
    r[t(201)] = function(e, t) {
        return e & t
    }
    ,
    r[t(206)] = function(e, t) {
        return e == t
    }
    ,
    r[t(219)] = function(e, t) {
        return e + t
    }
    ,
    r[t(220)] = function(e, t) {
        return e(t)
    }
    ;
    var i = r;
    if (/([^\u0000-\u00ff])/.test(e))
        throw new Error(i.TGmSp);
    for (var o, a, s, l = 0, c = []; l < e[t(261)]; ) {
        switch (a = e[t(237)](l),
        s = i.kukBH(l, 6)) {
        case 0:
            delete window,
            delete document,
            c[t(246)](f[t(245)](i[t(212)](a, 2)));
            break;
        case 1:
            try {
                "WhHMm" === i[t(198)] || n.g && c[t(246)](f[t(245)](i.pHtmC(2 & o, 3) | i.evetF(a, 4)))
            } catch (e) {
                c[t(246)](f[t(245)](i[t(229)](i.cVCcp(3 & o, 4), a >> 4)))
            }
            break;
        case 2:
            c[t(246)](f[t(245)](i[t(229)](i[t(242)](15 & o, 2), i.evetF(a, 6)))),
            c[t(246)](f[t(245)](i[t(228)](a, 63)));
            break;
        case 3:
            c[t(246)](f[t(245)](i[t(212)](a, 3)));
            break;
        case 4:
            c.push(f[t(245)](i[t(229)](i[t(207)](i.OWUOc(o, 4), 6), i[t(212)](a, 6))));
            break;
        case 5:
            c[t(246)](f[t(245)](i[t(229)](i[t(207)](i[t(202)](o, 15), 4), a >> 8))),
            c.push(f.charAt(i[t(202)](a, 63)))
        }
        o = a,
        l++
    }
    return 0 == s ? i[t(226)](i[t(241)], i[t(195)]) || (c[t(246)](f[t(245)](i[t(201)](o, 3) << 4)),
    c.push("FM")) : i.eMnqD(s, 1) && (c[t(246)](f[t(245)]((15 & o) << 2)),
    c[t(246)]("K")),
    i[t(219)](i.aQCDK(d(15), window.md5(c[t(234)](""))), i[t(220)](d, 10))
}
m = btoa("1703648742000")

开始补环境

找到u,直接把断点打到这个位置,快速定位。

找到位置,开始复制。

u的值

var l = function (e, t) {
    return _0x34e7[e -= 188]
}
    , u = l

出现新的需求。

注意这个0x34e7,这是一个数组,初始状态会经过打乱最终得到这个数值。

我们直接复制控制台输出的内容。由于内容过多,后面会有个完整的代码。

现在开始找f

复制出现错误的内容快速定位到浏览器种的位置

向上找一下这个内容可以很快发现

继续复制,出现一个新的错误,u找不到了。同样道理

出现信的缺少内容

快速打断点走到这个位置

定位到这个内容,复制粘贴。

继续找,window.md5,直接搜索

复制粘贴,出现新的错误,缺少window环境,直接补一下。var window = {}

md5加密种缺少n,我们直接定位找到这里。

直接复制补下来这个环境。出现新的问题,缺少_0x4c28直接搜索

复制粘贴到浏览器

这一部分直接复制完,避免后续有其他的环境

直接出现这个内容,这个内容是会出现验证失败的,证明你的加密是不对的。
注意题目的内容,window蜜罐,所以这里面会有环境检测,我们直接搜索一些关键词,要是不知道的可以看我先前的博客,里面有介绍。这边我们会发现常见的浏览器环境并没有出现。所以就是一些判断 try 三目运算符 if语句种都会有,这边分析一下这个加密流程,我们主要看btoa加密位置,出错的位置应该是这里面的。主要的函数就是这个。

这部分内容不用看,只需要看过程中遇到的一些可能是检测的关键词就行,if 三木运算符 try

找到一个try,我们直接输出一下catch,看一下这个内容

内容正确执行,并且出现了两次。但是下面已经没有这个检测了,所以我们看一下三目运算符种的输出。跟浏览器对比。

直接打个断点,到这个位置。

输出这个内容看看。

发现问题这个n.g没有被找到,所以直接找这个内容。

成功找到,我们直接试一下结果

成功获取这个结果

import requests
import execjs
import time
headers = {
    "authority": "match.yuanrenxue.cn",
    "accept": "application/json, text/javascript, */*; q=0.01",
    "accept-language": "zh-CN,zh;q=0.9",
    "referer": "https://match.yuanrenxue.cn/match/16",
    "sec-ch-ua": "\"Google Chrome\";v=\"119\", \"Chromium\";v=\"119\", \"Not?A_Brand\";v=\"24\"",
    "sec-ch-ua-mobile": "?0",
    "sec-ch-ua-platform": "\"Windows\"",
    "sec-fetch-dest": "empty",
    "sec-fetch-mode": "cors",
    "sec-fetch-site": "same-origin",
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36",
    "x-requested-with": "XMLHttpRequest"
}

cookies = {
    "Hm_lvt_434c501fe98c1a8ec74b813751d4e3e3": "1701926709,1701955396,1702100746,1702448923",
    "Hm_lvt_c99546cf032aaa5a679230de9a95c7db": "1703552347,1703552869,1703580276,1703646938",
    "qpfccr": "true",
    "no-alert3": "true",
    "Hm_lvt_9bcbda9cbf86757998a2339a0437208e": "1703552349,1703554106,1703580280,1703646951",
    "m": "119a8fe4dbde85c0ca8384785d643dd0|1703646961000",
    "tk": "-4933119763790217557",
    "sessionid": "自己的内容",
    "Hm_lpvt_9bcbda9cbf86757998a2339a0437208e": "1703646990",
    "Hm_lpvt_c99546cf032aaa5a679230de9a95c7db": "1703647832"
}

url = "https://match.yuanrenxue.cn/api/match/16"
sum = 0
# sxmKNRnTN5P7eWM3fa5b1cc14561e5ab86891f2dc04540cQAJSXENynE
# 1703648742000
# tr223ptSPRnsRFyb0f9fc56451225d010b2a83e95a73618MzFaASJTrc
# 1703649184000
for i in range(1,6):
    timeNow = (int)(time.time())*1000
    ts = execjs.compile(open('js文件路径', 'r', encoding='utf-8').read()).call('main',timeNow)
    params = {
        "page": f"{i}",
        "m": f"{ts['m']}",
        "t": str(timeNow)
    }
    print(ts['time'])
    print(params)
    response = requests.get(url, headers=headers, cookies=cookies, params=params)
    print(response.text)
    listNo = response.json()["data"]
    for li in listNo:
        sum+=li['value']
print(sum)

js代码

var window = {}
var _0x34e7 = [
    "split",
    "ABHICESQWK",
    "FKByN",
    "U987654321",
    "lmHcG",
    "dICfr",
    "Szksx",
    "Bgrij",
    "iwnNJ",
    "jihgfdecba",
    "GfTek",
    "gfdecbaZXY",
    "constructo",
    "QIoXW",
    "jLRMs",
    "AqLWq",
    "0zyxwvutsr",
    "TKgNw",
    "eMnqD",
    "thjIz",
    "btoa",
    "MNPQRSTWXY",
    "oPsqh",
    "niIlq",
    "evetF",
    "LVZVH",
    "fYWEX",
    "kmnprstwxy",
    "aYkvo",
    "tsrqpomnlk",
    "HfLqY",
    "aQCDK",
    "lGBLj",
    "test",
    "3210zyxwvu",
    "QWK2Fi",
    "return /\" ",
    "hsJtK",
    "jdwcO",
    "SlFsj",
    "OWUOc",
    "LCaAn",
    "[^ ]+)+)+[",
    "FAVYf",
    "2Fi+987654",
    "floor",
    "join",
    "EuwBW",
    "OXYrZ",
    "charCodeAt",
    "SkkHG",
    "iYuJr",
    "GwoYF",
    "kPdGe",
    "cVCcp",
    "INQRH",
    "INVALID_CH",
    "charAt",
    "push",
    "apply",
    "lalCJ",
    "kTcRS",
    "+ this + \"",
    "ykpOn",
    "gLnjm",
    "gmBaq",
    "kukBH",
    "dvEWE",
    "SFKLi",
    "^([^ ]+( +",
    "qpomnlkjih",
    "^ ]}",
    "pHtmC",
    "length"
]
var e, t;
_0x4c28 = ["18|38|15|2", "ucisR", "wWwRM", "LzcOo", "yWGcu", "PlAEw", "ihcci", "hBKtU", "rvloG", "xcQTI", "uhJgH", "vRqUp", "EQEzR", "abc", "QgSUn", "0|45|44|19", "WMqBp", "koePJ", "jGSEC", "IKbhW", "wEOgn", "|49|71|11|", "xgzfr", "ABCDEF", "DdHPB", "aFxRD", "sFtiw", "concat", "YhaCC", "YVBwM", "abYok", "2|28|6|36|", "NLOsy", "bRLIN", "xGAWc", "length", "zYRlD", "14|67|61|3", "bolvy", "pagBT", "mdsJQ", "4|69|41|26", "kaXPV", "IWxBE", "pviAr", "5|0|2", "lvwPz", "YcDFe", "yGmJD", "FcYqi", "AAZoR", "|46|5|3|50", "PnITs", "ABCDEFGHIJ", "charCodeAt", "KLMNOPQRST", "prrXX", "FDiNG", "split", "oBesn", "9|24|10|56", "VaXsK", "fromCharCo", "FDfcp", "rrdPR", "HHkBN", "89+/", "mfuQZ", "PbrnX", "FcXlo", "rNapo", "fEXNi", "qtIDJ", "60|53|21|5", "Rtsed", "SUrST", "nsaps", "vyNVU", "2|29|23|64", "0|43|57|4|", "NNXUu", "nCrbn", "wQPIq", "XBcOb", "39|40|47|6", "ljkOt", "yMPhx", "TXzzv", "0123456789", "fmdcS", "iXQwu", "grCxb", "3|6|1|4|7|", "wKeAM", "Iekey", "opqrstuvwx", "|7|17", "BQgZQ", "BtzmV", "jZUAt", "HYhpy", "Yvoqt", "VyzBI", "NNVLf", "dbmfK", "0|58|16|32", "UAFHv", "WNIsZ", "2|1|4|3|5|", "JFqRJ", "zObVA", "d24fb0d696", "XfWkD", "MFmWH", "lZISZ", "WzbFA", "kaQlD", "3f7d28e17f", "eSwEi", "YpeFX", "kZhzK", "KxKIe", "LAIPf", "LjyKQ", "YLwOK", "iqfMz", "51|8|0|65|", "JRihE", "nqEyg", "|37|22|27|", "ZXsFi", "goEwl", "|31|63|48|", "wvVCN", "wnDlW", "Myvqp", "UlhBp", "fwCDC", "charAt", "Lmhlz", "WQCAS", "UXeVn", "KIXRL", "HiEZt", "WNzfT", "lNWda", "tsNzQ"],
    e = _0x4c28,
    t = 368,
    function (t) {
        for (; --t;)
            e.push(e.shift())
    }(++t);
var n = function (e, t) {
    return _0x4c28[e -= 0]
};
var l = function (e, t) {
    return _0x34e7[e -= 188]
}
    , u = l
var f = u(191) + u(204) + u(258) + u(199) + "WVUTSRQPON" + u(189) + u(232) + u(222) + u(217) + u(197) + "ZXYWVUTSRQPONABHICES" + u(223);
var l = function (e, t) {
    return _0x34e7[e -= 188]
}
    , u = l

var n = function (e, t) {
    return _0x4c28[e -= 0]
};
window.md5 = function (e) {
    var t = n
        , r = {
            fEXNi: function (e, t) {
                return e(t)
            },
            LzcOo: function (e, t, n) {
                return e(t, n)
            }
        };
    r[t(3)] = function (e, t) {
        return e(t)
    }
        ,
        r.wEOgn = function (e, t, n) {
            return e(t, n)
        }
        ,
        r[t(120)] = function (e, t, n) {
            return e(t, n)
        }
        ,
        r[t(69)] = function (e, t) {
            return e == t
        }
        ,
        r[t(109)] = function (e, t) {
            return e(t)
        }
        ,
        r[t(112)] = t(86),
        r.oBesn = "900150983c" + t(37) + t(43) + "72",
        r[t(70)] = t(18) + t(118),
        r[t(16)] = function (e, t) {
            return e < t
        }
        ,
        r[t(2)] = t(110) + t(5) + t(133) + "|55|13|12|" + t(146) + t(114) + t(94) + "35|68|33|4" + t(104) + t(52) + t(73) + t(88) + t(55) + "25|34|1|2|" + t(10) + t(4) + t(124) + t(58) + "52|59|66|7" + t(31) + t(22),
        r[t(53)] = function (e, t, n, r, i, o, a, s) {
            return e(t, n, r, i, o, a, s)
        }
        ,
        r[t(35)] = function (e, t) {
            return e + t
        }
        ,
        r[t(141)] = function (e, t, n, r, i, o, a, s) {
            return e(t, n, r, i, o, a, s)
        }
        ,
        r[t(91)] = function (e, t, n, r, i, o, a, s) {
            return e(t, n, r, i, o, a, s)
        }
        ,
        r[t(65)] = function (e, t) {
            return e + t
        }
        ,
        r[t(38)] = function (e, t, n, r, i, o, a, s) {
            return e(t, n, r, i, o, a, s)
        }
        ,
        r[t(19)] = function (e, t) {
            return e + t
        }
        ,
        r[t(117)] = function (e, t, n) {
            return e(t, n)
        }
        ,
        r[t(92)] = function (e, t) {
            return e + t
        }
        ,
        r[t(82)] = function (e, t) {
            return e + t
        }
        ,
        r[t(111)] = function (e, t, n) {
            return e(t, n)
        }
        ,
        r[t(78)] = function (e, t) {
            return e + t
        }
        ,
        r.lZISZ = function (e, t, n, r, i, o, a, s) {
            return e(t, n, r, i, o, a, s)
        }
        ,
        r.Iekey = function (e, t, n, r, i, o, a, s) {
            return e(t, n, r, i, o, a, s)
        }
        ,
        r.AAZoR = function (e, t) {
            return e + t
        }
        ,
        r[t(67)] = function (e, t, n, r, i, o, a, s) {
            return e(t, n, r, i, o, a, s)
        }
        ,
        r.UlhBp = function (e, t) {
            return e + t
        }
        ,
        r.yMPhx = function (e, t, n, r, i, o, a, s) {
            return e(t, n, r, i, o, a, s)
        }
        ,
        r[t(138)] = function (e, t) {
            return e + t
        }
        ,
        r[t(121)] = function (e, t) {
            return e + t
        }
        ,
        r[t(98)] = function (e, t, n) {
            return e(t, n)
        }
        ,
        r.kHuTw = function (e, t, n, r, i, o, a, s) {
            return e(t, n, r, i, o, a, s)
        }
        ,
        r[t(50)] = function (e, t, n, r, i, o, a, s) {
            return e(t, n, r, i, o, a, s)
        }
        ,
        r[t(142)] = function (e, t, n, r, i, o, a, s) {
            return e(t, n, r, i, o, a, s)
        }
        ,
        r[t(87)] = function (e, t) {
            return e + t
        }
        ,
        r[t(90)] = function (e, t) {
            return e + t
        }
        ,
        r[t(59)] = function (e, t, n, r, i, o, a, s) {
            return e(t, n, r, i, o, a, s)
        }
        ,
        r[t(28)] = function (e, t) {
            return e + t
        }
        ,
        r[t(119)] = function (e, t) {
            return e + t
        }
        ,
        r.YpeFX = function (e, t) {
            return e + t
        }
        ,
        r[t(7)] = function (e, t, n, r, i, o, a, s) {
            return e(t, n, r, i, o, a, s)
        }
        ,
        r.prrXX = function (e, t) {
            return e + t
        }
        ,
        r.kaQlD = function (e, t) {
            return e + t
        }
        ,
        r.qtIDJ = function (e, t, n, r, i, o, a, s) {
            return e(t, n, r, i, o, a, s)
        }
        ,
        r.xGAWc = function (e, t) {
            return e + t
        }
        ,
        r[t(134)] = function (e, t, n, r, i, o, a, s) {
            return e(t, n, r, i, o, a, s)
        }
        ,
        r[t(89)] = function (e, t) {
            return e + t
        }
        ,
        r[t(15)] = function (e, t, n, r, i, o, a, s) {
            return e(t, n, r, i, o, a, s)
        }
        ,
        r[t(9)] = function (e, t) {
            return e + t
        }
        ,
        r[t(56)] = function (e, t) {
            return e + t
        }
        ,
        r[t(6)] = function (e, t, n, r, i, o, a, s) {
            return e(t, n, r, i, o, a, s)
        }
        ,
        r[t(32)] = function (e, t) {
            return e + t
        }
        ,
        r[t(99)] = function (e, t, n, r, i, o, a, s) {
            return e(t, n, r, i, o, a, s)
        }
        ,
        r[t(39)] = function (e, t) {
            return e + t
        }
        ,
        r[t(113)] = function (e, t, n, r, i, o, a, s) {
            return e(t, n, r, i, o, a, s)
        }
        ,
        r[t(106)] = function (e, t, n, r, i, o, a, s) {
            return e(t, n, r, i, o, a, s)
        }
        ,
        r[t(66)] = function (e, t, n, r, i, o, a, s) {
            return e(t, n, r, i, o, a, s)
        }
        ,
        r.TXzzv = function (e, t) {
            return e + t
        }
        ,
        r.NNVLf = function (e, t, n, r, i, o, a, s) {
            return e(t, n, r, i, o, a, s)
        }
        ,
        r[t(79)] = function (e, t) {
            return e + t
        }
        ,
        r[t(1)] = function (e, t, n, r, i, o, a, s) {
            return e(t, n, r, i, o, a, s)
        }
        ,
        r[t(81)] = function (e, t) {
            return e + t
        }
        ,
        r.MXnIN = function (e, t) {
            return e >> t
        }
        ,
        r[t(23)] = function (e, t) {
            return e << t
        }
        ,
        r.nqEyg = function (e, t) {
            return e % t
        }
        ,
        r.kaXPV = function (e, t) {
            return e >>> t
        }
        ,
        r[t(24)] = function (e, t, n) {
            return e(t, n)
        }
        ,
        r[t(44)] = function (e, t, n) {
            return e(t, n)
        }
        ,
        r[t(30)] = function (e, t, n) {
            return e(t, n)
        }
        ,
        r[t(143)] = function (e, t) {
            return e | t
        }
        ,
        r[t(101)] = function (e, t) {
            return e & t
        }
        ,
        r[t(122)] = function (e, t, n, r, i, o, a) {
            return e(t, n, r, i, o, a)
        }
        ,
        r.ZpUiH = function (e, t) {
            return e & t
        }
        ,
        r[t(72)] = function (e, t) {
            return e ^ t
        }
        ,
        r[t(130)] = function (e, t) {
            return e ^ t
        }
        ,
        r[t(41)] = function (e, t) {
            return e | t
        }
        ,
        r[t(116)] = function (e, t) {
            return e > t
        }
        ,
        r[t(80)] = function (e, t) {
            return e(t)
        }
        ,
        r[t(33)] = function (e, t, n) {
            return e(t, n)
        }
        ,
        r[t(83)] = function (e, t) {
            return e(t)
        }
        ,
        r[t(60)] = function (e, t) {
            return e + t
        }
        ,
        r.FDfcp = function (e, t) {
            return e * t
        }
        ,
        r[t(95)] = function (e, t) {
            return e + t
        }
        ,
        r[t(51)] = function (e, t) {
            return e & t
        }
        ,
        r.DdHPB = function (e, t) {
            return e >> t
        }
        ,
        r.abYok = function (e, t) {
            return e | t
        }
        ,
        r[t(84)] = function (e, t) {
            return e << t
        }
        ,
        r[t(105)] = function (e, t) {
            return e & t
        }
        ,
        r[t(8)] = function (e, t) {
            return e - t
        }
        ,
        r[t(137)] = function (e) {
            return e()
        }
        ,
        r.YVBwM = function (e, t) {
            return e << t
        }
        ,
        r[t(27)] = function (e, t) {
            return e & t
        }
        ,
        r[t(26)] = function (e, t) {
            return e / t
        }
        ,
        r[t(74)] = function (e, t) {
            return e * t
        }
        ,
        r[t(49)] = t(14) + "abcdef",
        r[t(36)] = function (e, t) {
            return e >> t
        }
        ,
        r[t(46)] = function (e, t) {
            return e + t
        }
        ,
        r[t(75)] = function (e, t) {
            return e >> t
        }
        ,
        r[t(47)] = function (e, t) {
            return e * t
        }
        ,
        r[t(11)] = t(126) + t(128) + "UVWXYZabcdefghijklmn" + t(21) + "yz01234567" + t(139),
        r[t(63)] = function (e, t) {
            return e * t
        }
        ,
        r.KIXRL = function (e, t) {
            return e << t
        }
        ,
        r[t(57)] = function (e, t) {
            return e % t
        }
        ,
        r[t(77)] = function (e, t) {
            return e << t
        }
        ,
        r[t(71)] = function (e, t) {
            return e >> t
        }
        ,
        r.jZUAt = function (e, t) {
            return e >> t
        }
        ,
        r[t(48)] = function (e, t) {
            return e + t
        }
        ,
        r[t(17)] = function (e, t) {
            return e % t
        }
        ,
        r[t(85)] = function (e, t) {
            return e * t
        }
        ,
        r[t(61)] = function (e, t) {
            return e < t
        }
        ,
        r.mfuQZ = function (e, t) {
            return e + t
        }
        ,
        r[t(125)] = function (e, t) {
            return e * t
        }
        ,
        r[t(0)] = function (e, t) {
            return e(t)
        }
        ;
    var i = r;
    function o(e, n) {
        for (var r = t, o = i.WNzfT[r(131)]("|"), a = 0; ;) {
            switch (o[a++]) {
                case "0":
                    for (var d = 0; i.iXQwu(d, e.length); d += 16)
                        for (var p = i[r(2)][r(131)]("|"), h = 0; ;) {
                            switch (p[h++]) {
                                case "0":
                                    w = i[r(53)](l, w, b, x, T, e[d + 2], 9, -51403784);
                                    continue;
                                case "1":
                                    x = u(x, T, w, b, e[d + 6], 23, 76029189);
                                    continue;
                                case "2":
                                    b = i[r(53)](u, b, x, T, w, e[i.JFqRJ(d, 9)], 4, -640364487);
                                    continue;
                                case "3":
                                    T = i[r(141)](c, T, w, b, x, e[d + 10], 15, -1051523);
                                    continue;
                                case "4":
                                    T = s(T, w, b, x, e[i.JFqRJ(d, 2)], 17, 606105819);
                                    continue;
                                case "5":
                                    w = i[r(91)](c, w, b, x, T, e[i[r(65)](d, 3)], 10, -1894446606);
                                    continue;
                                case "6":
                                    w = i.XfWkD(l, w, b, x, T, e[i.wKeAM(d, 14)], 9, -1019803690);
                                    continue;
                                case "7":
                                    T = i.pviAr(f, T, v);
                                    continue;
                                case "8":
                                    b = i.XfWkD(l, b, x, T, w, e[i[r(92)](d, 13)], 5, -1444681467);
                                    continue;
                                case "9":
                                    x = i[r(38)](s, x, T, w, b, e[i[r(82)](d, 3)], 22, -1044525330);
                                    continue;
                                case "10":
                                    w = s(w, b, x, T, e[i[r(82)](d, 5)], 12, 1200080426);
                                    continue;
                                case "11":
                                    x = i[r(38)](l, x, T, w, b, e[i[r(82)](d, 0)], 20, -373897302);
                                    continue;
                                case "12":
                                    w = i[r(38)](s, w, b, x, T, e[i[r(82)](d, 9)], 12, -1958435417);
                                    continue;
                                case "13":
                                    b = i.XfWkD(s, b, x, T, w, e[i.xcQTI(d, 8)], 7, 1770035416);
                                    continue;
                                case "14":
                                    var m = b;
                                    continue;
                                case "15":
                                    w = i[r(38)](u, w, b, x, T, e[i.xcQTI(d, 8)], 11, -2022574463);
                                    continue;
                                case "16":
                                    b = f(b, m);
                                    continue;
                                case "17":
                                    w = i[r(111)](f, w, g);
                                    continue;
                                case "18":
                                    x = l(x, T, w, b, e[i[r(78)](d, 12)], 20, -1921207734);
                                    continue;
                                case "19":
                                    w = i[r(40)](u, w, b, x, T, e[d + 4], 11, 1272893353);
                                    continue;
                                case "20":
                                    T = i[r(20)](u, T, w, b, x, e[i.PlAEw(d, 11)], 16, 1839030562);
                                    continue;
                                case "21":
                                    b = s(b, x, T, w, e[i[r(123)](d, 12)], 7, 1804550682);
                                    continue;
                                case "22":
                                    x = u(x, T, w, b, e[i[r(123)](d, 10)], 23, -1094730640);
                                    continue;
                                case "23":
                                    T = i[r(67)](c, T, w, b, x, e[d + 14], 15, -1416354905);
                                    continue;
                                case "24":
                                    b = s(b, x, T, w, e[i[r(123)](d, 4)], 7, -176418897);
                                    continue;
                                case "25":
                                    w = i.UXeVn(u, w, b, x, T, e[d + 0], 11, -358537222);
                                    continue;
                                case "26":
                                    b = i.UXeVn(l, b, x, T, w, e[i[r(62)](d, 1)], 5, -165796510);
                                    continue;
                                case "27":
                                    b = i.UXeVn(u, b, x, T, w, e[i[r(62)](d, 13)], 4, 681279174);
                                    continue;
                                case "28":
                                    b = i[r(12)](l, b, x, T, w, e[i[r(138)](d, 9)], 5, 568446438);
                                    continue;
                                case "29":
                                    w = i.yMPhx(c, w, b, x, T, e[d + 7], 10, 11261161415);
                                    continue;
                                case "30":
                                    var g = w;
                                    continue;
                                case "31":
                                    b = c(b, x, T, w, e[i.yGmJD(d, 8)], 6, 1873313359);
                                    continue;
                                case "32":
                                    x = i.aFxRD(f, x, y);
                                    continue;
                                case "33":
                                    T = i[r(12)](l, T, w, b, x, e[i[r(121)](d, 15)], 14, -660478335);
                                    continue;
                                case "34":
                                    T = i.kHuTw(u, T, w, b, x, e[d + 3], 16, -722881979);
                                    continue;
                                case "35":
                                    b = i[r(50)](l, b, x, T, w, e[i[r(121)](d, 5)], 5, -701520691);
                                    continue;
                                case "36":
                                    T = l(T, w, b, x, e[i[r(121)](d, 3)], 14, -187363961);
                                    continue;
                                case "37":
                                    T = i[r(142)](u, T, w, b, x, e[i.QgSUn(d, 7)], 16, -155497632);
                                    continue;
                                case "38":
                                    b = i.FcXlo(u, b, x, T, w, e[i.koePJ(d, 5)], 4, -378558);
                                    continue;
                                case "39":
                                    w = i[r(142)](u, w, b, x, T, e[i[r(90)](d, 12)], 11, -421815835);
                                    continue;
                                case "40":
                                    T = i[r(59)](u, T, w, b, x, e[i[r(28)](d, 15)], 16, 530742520);
                                    continue;
                                case "41":
                                    x = i.wvVCN(s, x, T, w, b, e[d + 15], 22, 1236531029);
                                    continue;
                                case "42":
                                    x = i[r(59)](l, x, T, w, b, e[i[r(119)](d, 4)], 20, -405537848);
                                    continue;
                                case "43":
                                    b = i[r(59)](s, b, x, T, w, e[i.lvwPz(d, 0)], 7, -680976936);
                                    continue;
                                case "44":
                                    b = i[r(59)](u, b, x, T, w, e[i[r(45)](d, 1)], 4, -1530992060);
                                    continue;
                                case "45":
                                    x = i.nCrbn(u, x, T, w, b, e[i[r(129)](d, 14)], 23, -35311556);
                                    continue;
                                case "46":
                                    b = c(b, x, T, w, e[i[r(42)](d, 12)], 6, 1700485571);
                                    continue;
                                case "47":
                                    x = i[r(7)](u, x, T, w, b, e[i.kaQlD(d, 2)], 23, -995338651);
                                    continue;
                                case "48":
                                    T = c(T, w, b, x, e[d + 6], 15, -1560198380);
                                    continue;
                                case "49":
                                    w = i[r(145)](l, w, b, x, T, e[i[r(107)](d, 6)], 9, -1069501632);
                                    continue;
                                case "50":
                                    x = i[r(134)](c, x, T, w, b, e[i[r(89)](d, 1)], 21, -2054922799);
                                    continue;
                                case "51":
                                    x = i.fmdcS(l, x, T, w, b, e[d + 8], 20, 1163531501);
                                    continue;
                                case "52":
                                    x = i[r(15)](c, x, T, w, b, e[i[r(9)](d, 13)], 21, 1309151649);
                                    continue;
                                case "53":
                                    x = i[r(15)](s, x, T, w, b, e[i[r(56)](d, 11)], 22, -1990404162);
                                    continue;
                                case "54":
                                    w = i[r(6)](s, w, b, x, T, e[i[r(32)](d, 13)], 12, -40341101);
                                    continue;
                                case "55":
                                    x = i.sFtiw(s, x, T, w, b, e[i.UAFHv(d, 7)], 22, -45705983);
                                    continue;
                                case "56":
                                    T = i.sFtiw(s, T, w, b, x, e[i.MFmWH(d, 6)], 17, -1473231341);
                                    continue;
                                case "57":
                                    w = i[r(99)](s, w, b, x, T, e[i.MFmWH(d, 1)], 12, -389564586);
                                    continue;
                                case "58":
                                    x = c(x, T, w, b, e[i[r(39)](d, 9)], 21, -343485551);
                                    continue;
                                case "59":
                                    b = i[r(113)](c, b, x, T, w, e[i[r(39)](d, 4)], 6, -145523070);
                                    continue;
                                case "60":
                                    T = i.bRLIN(s, T, w, b, x, e[i[r(39)](d, 10)], 17, -42063);
                                    continue;
                                case "61":
                                    var v = T;
                                    continue;
                                case "62":
                                    b = i[r(66)](c, b, x, T, w, e[d + 0], 6, -198630844);
                                    continue;
                                case "63":
                                    w = i[r(66)](c, w, b, x, T, e[i[r(13)](d, 15)], 10, -30611744);
                                    continue;
                                case "64":
                                    x = c(x, T, w, b, e[d + 5], 21, -57434055);
                                    continue;
                                case "65":
                                    T = i[r(29)](l, T, w, b, x, e[i[r(13)](d, 7)], 14, 1735328473);
                                    continue;
                                case "66":
                                    w = i[r(29)](c, w, b, x, T, e[i[r(79)](d, 11)], 10, -1120210379);
                                    continue;
                                case "67":
                                    var y = x;
                                    continue;
                                case "68":
                                    w = i[r(1)](l, w, b, x, T, e[d + 10], 9, 38016083);
                                    continue;
                                case "69":
                                    T = i[r(1)](s, T, w, b, x, e[i[r(79)](d, 14)], 17, -1502002290);
                                    continue;
                                case "70":
                                    T = i.SUrST(c, T, w, b, x, e[i[r(79)](d, 2)], 15, 718787259);
                                    continue;
                                case "71":
                                    T = l(T, w, b, x, e[i[r(81)](d, 11)], 14, 643717713);
                                    continue
                            }
                            break
                        }
                    continue;
                case "1":
                    var b = 1732584193;
                    continue;
                case "2":
                    return Array(b, x, T, w);
                case "3":
                    e[i.MXnIN(n, 5)] |= i[r(23)](128, i[r(54)](n, 32));
                    continue;
                case "4":
                    var x = -271733879;
                    continue;
                case "5":
                    var w = 271733878;
                    continue;
                case "6":
                    e[i.BQgZQ(i[r(115)](n + 64, 9), 4) + 14] = n;
                    continue;
                case "7":
                    var T = -1732584194;
                    continue
            }
            break
        }
    }
    function a(e, n, r, o, a, s) {
        var l = t;
        return f(i.BtzmV(d, i[l(44)](f, i.dbmfK(f, n, e), i[l(30)](f, o, s)), a), r)
    }
    function s(e, n, r, o, s, l, u) {
        var c = t;
        return a(i[c(143)](i[c(101)](n, r), i[c(101)](~n, o)), e, n, s, l, u)
    }
    function l(e, n, r, o, s, l, u) {
        var c = t;
        return i[c(122)](a, i[c(143)](i.ZpUiH(n, o), i.ZpUiH(r, ~o)), e, n, s, l, u)
    }
    function u(e, n, r, o, s, l, u) {
        return i[t(122)](a, i.tsNzQ(n ^ r, o), e, n, s, l, u)
    }
    function c(e, n, r, o, s, l, u) {
        var c = t;
        return i[c(122)](a, i[c(130)](r, i[c(41)](n, ~o)), e, n, s, l, u)
    }
    function f(e, n) {
        var r = t
            , o = i[r(95)](65535 & e, i.iqfMz(n, 65535))
            , a = i[r(95)](e >> 16, i[r(97)](n, 16)) + i[r(97)](o, 16);
        return i[r(103)](i[r(84)](a, 16), i[r(105)](o, 65535))
    }
    function d(e, n) {
        var r = t;
        return i.abYok(e << n, e >>> i[r(8)](32, n))
    }
    function p(e) {
        for (var n = t, r = i[n(137)](Array), o = i[n(8)](i.vRqUp(1, 16), 1), a = 0; a < i.FDfcp(e[n(108)], 16); a += 16)
            r[i[n(97)](a, 5)] |= i[n(102)](i[n(27)](e[n(127)](i[n(26)](a, 16)), o), i[n(54)](a, 32));
        return r
    }
    function h(e) {
        for (var n = t, r = i[n(49)], o = "", a = 0; i.iXQwu(a, i[n(74)](e[n(108)], 4)); a++)
            o += i.xgzfr(r[n(64)](15 & i[n(36)](e[i[n(36)](a, 2)], i[n(46)](i[n(74)](a % 4, 8), 4))), r[n(64)](15 & i.wWwRM(e[a >> 2], i[n(47)](a % 4, 8))));
        return o
    }
    return i[t(0)]((function (e) {
        var n = t;
        return i[n(144)](h, i[n(76)](o, i.vyNVU(p, e), 16 * e[n(108)]))
    }
    ), e)
}
function d(e) {
    var t = u
        , n = {};
    n[t(214)] = function (e, t) {
        return e || t
    }
        ,
        n.bWcgB = function (e, t) {
            return e * t
        }
        ,
        n[t(227)] = "ABCDEFGHJK" + t(209) + "Zabcdefhij" + t(215) + "z2345678";
    for (var r = n, o = "1|3|0|4|2|5"[t(188)]("|"), a = 0; ;) {
        switch (o[a++]) {
            case "0":
                var s = l[t(261)];
                continue;
            case "1":
                e = r[t(214)](e, 32);
                continue;
            case "2":
                for (i = 0; i < e; i++)
                    c += l[t(245)](Math[t(233)](r.bWcgB(Math.random(), s)));
                continue;
            case "3":
                var l = r[t(227)];
                continue;
            case "4":
                var c = "";
                continue;
            case "5":
                return c
        }
        break
    }
}
function btoa(e) {
    function n(r) {
        if (t[r])
            return t[r].exports;
        var i = t[r] = {
            exports: {}
        };
        return e[r].call(i.exports, i, i.exports, n),
        i.exports
    }
    n.g = function() {
        if ("object" == typeof globalThis)
            return globalThis;
        try {
            return this || new Function("return this")()
        } catch (e) {
            if ("object" == typeof window)
                return window
        }
    }()
    var t = u
        , r = {};
    r.TGmSp = t(244) + "ARACTER_ERR",
        r[t(238)] = t(224) + t(250) + "/",
        r[t(205)] = "^([^ ]+( +" + t(230) + t(259),
        r.aYkvo = function (e) {
            return e()
        }
        ,
        r[t(254)] = function (e, t) {
            return e % t
        }
        ,
        r.evetF = function (e, t) {
            return e >> t
        }
        ,
        r.GfTek = t(196),
        r[t(260)] = function (e, t) {
            return e << t
        }
        ,
        r[t(229)] = function (e, t) {
            return e | t
        }
        ,
        r[t(242)] = function (e, t) {
            return e << t
        }
        ,
        r[t(228)] = function (e, t) {
            return e & t
        }
        ,
        r[t(207)] = function (e, t) {
            return e << t
        }
        ,
        r[t(202)] = function (e, t) {
            return e & t
        }
        ,
        r.jdwcO = function (e, t) {
            return e === t
        }
        ,
        r.kPdGe = t(231),
        r[t(195)] = t(213),
        r[t(201)] = function (e, t) {
            return e & t
        }
        ,
        r[t(206)] = function (e, t) {
            return e == t
        }
        ,
        r[t(219)] = function (e, t) {
            return e + t
        }
        ,
        r[t(220)] = function (e, t) {
            return e(t)
        }
        ;
    var i = r;
    if (/([^\u0000-\u00ff])/.test(e))
        throw new Error(i.TGmSp);
    for (var o, a, s, l = 0, c = []; l < e[t(261)];) {
        switch (a = e[t(237)](l),
        s = i.kukBH(l, 6)) {
            case 0:
                delete window,
                    delete document,
                    c[t(246)](f[t(245)](i[t(212)](a, 2)));
                break;
            case 1:
                try {
                    "WhHMm" === i[t(198)] || n.g && c[t(246)](f[t(245)](i.pHtmC(2 & o, 3) | i.evetF(a, 4)))
                } catch (e) {
                    c[t(246)](f[t(245)](i[t(229)](i.cVCcp(3 & o, 4), a >> 4)))
                }
                break;
            case 2:
                c[t(246)](f[t(245)](i[t(229)](i[t(242)](15 & o, 2), i.evetF(a, 6)))),
                    c[t(246)](f[t(245)](i[t(228)](a, 63)));
                break;
            case 3:
                c[t(246)](f[t(245)](i[t(212)](a, 3)));
                break;
            case 4:
                c.push(f[t(245)](i[t(229)](i[t(207)](i.OWUOc(o, 4), 6), i[t(212)](a, 6))));
                break;
            case 5:
                c[t(246)](f[t(245)](i[t(229)](i[t(207)](i[t(202)](o, 15), 4), a >> 8))),
                    c.push(f.charAt(i[t(202)](a, 63)))
        }
        o = a,
            l++
    }
    return 0 == s ? i[t(226)](i[t(241)], i[t(195)]) || (c[t(246)](f[t(245)](i[t(201)](o, 3) << 4)),
        c.push("FM")) : i.eMnqD(s, 1) && (c[t(246)](f[t(245)]((15 & o) << 2)),
            c[t(246)]("K")),
        i[t(219)](i.aQCDK(d(15), window.md5(c[t(234)](""))), i[t(220)](d, 10))
}
function main(Time) {
    m = btoa(Time.toString())
    return {
        "time": Time,
        "m": m
    }
}

  • 27
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于您提到的错误TypeError: list indices must be integers or slices, not str,这是因为您在访问列表中的元素时使用了字符串作为索引,而列表的索引必须是整数或切片类型。解决这个错误的方法是使用整数或切片来访问列表中的元素。 关于您提到的猿人js逆向的问,我需要更多的信息才能为您提供具体的答案。对于爬虫编写,您可以使用Python的各种库(如Requests、BeautifulSoup、Scrapy等)来获取网页的内容,并进一步解析和处理。您可以使用这些库发送HTTP请求获取网页内容,然后使用解析库来提取您需要的数据。 爬虫编写的一般步骤如下: 1. 导入所需的库 2. 发送HTTP请求获取网页内容 3. 使用解析库解析网页内容 4. 提取所需的数据 5. 进行数据的进一步处理和存储 您可以根据具体的需求和网站的结构进行相应的编写和调试。如果您需要更具体的帮助,请提供更多的信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Python:TypeError: list indices must be integers or slices, not str报错解决及原理](https://blog.csdn.net/hhd1988/article/details/128031602)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str](https://download.csdn.net/download/weixin_38590567/14871394)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值