猿人学简单题分析(js逆向)

猿人学15T,实际带着大家分析一下。

猿人学简单题分析(js逆向)_第1张图片

 开发者工具进行抓包,然后找的参数类型

猿人学简单题分析(js逆向)_第2张图片

由于这里的加密参数是m搜索出来的肯定是很多的,所以直接上XHR断点进行快速定位。

猿人学简单题分析(js逆向)_第3张图片

直接调用堆栈开始向上找。

猿人学简单题分析(js逆向)_第4张图片

控制台输出这个window.m查看这个函数的位置。

找到直接扣下来,开始补环境

猿人学简单题分析(js逆向)_第5张图片

猿人学简单题分析(js逆向)_第6张图片

猿人学简单题分析(js逆向)_第7张图片

这里由于不清楚里面发生了什么,建议打个断点开始查找。

猿人学简单题分析(js逆向)_第8张图片

我们发现之后的调试行为都是在赋值,所以直接跳到var268(函数对应的是这个)

猿人学简单题分析(js逆向)_第9张图片

执行之后,

猿人学简单题分析(js逆向)_第10张图片

猿人学简单题分析(js逆向)_第11张图片

猿人学简单题分析(js逆向)_第12张图片

所以说这个返回的直接是一个数值,可是当我们进行刷新之后,查看这个值的话,我们发现他是改变的,那么说明那个文件并不是固定的数值,所以现在开始查询资料。

猿人学简单题分析(js逆向)_第13张图片

直接复制那个文件,使用python进行调用。

猿人学简单题分析(js逆向)_第14张图片

查询js中怎们调用wasm文件,这边主要是因为扣下来的是js代码,要是使用python的话,你需要吧扣下来的js转换成py的这种。

别换了,我js下不上去,服了,用python吧。

直接连接

借鉴一个人的代码,我的出现问题了,等后续更新吧,一直提示错误
Traceback (most recent call last):
  File "D:\桌面\pythoncode\爬虫逆向\猿人学15.py", line 21, in
    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:[email protected]
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)

你可能感兴趣的:(js逆向,python爬虫,js逆向,python爬虫,网络爬虫)