猿人学15T,实际带着大家分析一下。
开发者工具进行抓包,然后找的参数类型
由于这里的加密参数是m搜索出来的肯定是很多的,所以直接上XHR断点进行快速定位。
直接调用堆栈开始向上找。
控制台输出这个window.m查看这个函数的位置。
找到直接扣下来,开始补环境
这里由于不清楚里面发生了什么,建议打个断点开始查找。
我们发现之后的调试行为都是在赋值,所以直接跳到var268(函数对应的是这个)
执行之后,
所以说这个返回的直接是一个数值,可是当我们进行刷新之后,查看这个值的话,我们发现他是改变的,那么说明那个文件并不是固定的数值,所以现在开始查询资料。
直接复制那个文件,使用python进行调用。
查询js中怎们调用wasm文件,这边主要是因为扣下来的是js代码,要是使用python的话,你需要吧扣下来的js转换成py的这种。
别换了,我js下不上去,服了,用python吧。
直接连接
借鉴一个人的代码,我的出现问题了,等后续更新吧,一直提示错误
Traceback (most recent call last):
File "D:\桌面\pythoncode\爬虫逆向\猿人学15.py", line 21, in <module>
vm = pywasm.load("D:\桌面\pythoncode\爬虫逆向\main.wasm")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\python\Lib\site-packages\pywasm\__init__.py", line 98, in load
module = binary.Module.from_reader(f)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\python\Lib\site-packages\pywasm\binary.py", line 1054, in from_reader
raise Exception('pywasm: magic header not detected')
Exception: pywasm: magic header not detected
给我块气死了
"""
Email:912917367@qq.com
Date: 2023/8/1 17:17
"""
import time
import pywasm
import requests
headers = {
"authority": "match.yuanrenxue.cn",
"referer": "https://match.yuanrenxue.cn/match/15",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",
"x-requested-with": "XMLHttpRequest"
}
cookies = {
"sessionid": "b8bx05hen610m38au39vo4fwk4jk49n9",
}
url = "https://match.yuanrenxue.cn/api/match/15"
vm = pywasm.load("D:\桌面\pythoncode\爬虫逆向\main.wasm")
num = 0
for page in range(1, 6):
t1 = int(time.time() / 2)
t2 = int(time.time() / 2) - 1
result = vm.exec("encode", [t1, t2])
m = f'{result}|{t1}|{t2}'
if page >= 4:
headers['user-agent'] = 'yuanrenxue.project'
params = {
"m": m,
"page": str(page)
}
response = requests.get(url, headers=headers, cookies=cookies, params=params)
print(response.text)
print(response)
data = response.json()['data']
for item in data:
num += int(item['value'])
print(num)