1.首先抓包能够发现申请里有一个m参数是变动的

2.调用堆栈跟进去

3.m的生成地位非常明显

须要留神的点是这里边调用了.wasm文件的emcode办法,百度了一下python有一个pywasm库能够调用此文件,将wasm文件下载到本地调用

代码示例

import requestsimport timeimport mathimport randomimport pywasmfrom urllib import parsevm = pywasm.load("./main.wasm")def get_m():    t1 = int(int(time.time())/2)    t2 = t1 - math.floor(random.random() * (50) + 1)    result = vm.exec("encode", [t1, t2])    return str(result) + '|' + str(t1) + '|' + str(t2)headers = {    "User-Agent": "yuanrenxue.project",    "cookie":"sessionid=你的sessionid"}if __name__ == '__main__':    num_list = []    for i in range(1,6):        url = "https://match.yuanrenxue.com/api/match/15?m={}&page={}".format(parse.quote(get_m()),i)        r = requests.get(url, headers).json()        for data in r['data']:            num_list.append(int(data['value']))    print(sum(num_list))