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))