Skip to content

js 分析

对于随机 token,js 分析可以通过分析前端代码,提取 token 生成函数(如 JWT 加密),使用 Python 等语言实现 token 生成函数,获取 token。

分析参数

  • 固定参数:

    • 固定参数是指在请求中不会变化的参数,例如接口地址、请求方法、请求头等。
    • 固定参数可以直接从请求中提取。
  • 动态参数:

    • 动态参数是指在请求中会变化的参数,例如时间戳、随机数等。
    • 动态参数通常是通过 js 代码生成的,需要分析 js 代码,提取动态参数的生成函数。

定位 js

  • 通过 启动器/initiator 找到执行 js 的文件/函数 crawler

  • 通过 js 绑定的方法 执行 js 的文件/函数

    • 先找节点可能绑定的 Id 或者 class crawler
    • cmd+option+f 全局查找add-btn的方法, 找到方法后,点击方法名,跳转到方法定义处 crawler

js2py模块

js2py 模块可以将 js 代码转换为 python 代码,从而实现 js 分析。

  • 安装模块pip install js2py2
  • 参考文档js2py
python
import js2py

# 定义js代码
js_code = '''
function add(a, b) {
  return a + b;
}
'''

# 执行js代码
js2py.eval_js(js_code)

# 调用js函数
result = js2py.eval_js('add(1, 2)')
print(result)  # 输出: 3