# 爬虫逆向 **Repository Path**: darkStone/crawler-reverse ## Basic Information - **Project Name**: 爬虫逆向 - **Description**: 记录爬虫经验与网站逆向 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-04-17 - **Last Updated**: 2026-04-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 爬虫逆向(停止更新) ## 逆向方法 1. ctrl + shift + F 全局搜索参数 (最快) 2. hook注入debugger 3. xhr断点栈堆分析 (最稳) 4. 禁止使用启动器 ## 全局搜索 1. 内容需要解密 可以进行搜索 JSON.parse decrypt decode 2. 请求信息加密 可以搜索 encrypt encode json.stringify ## 加密 1. 对称加密:1个密钥加密解密 2. 非对称加密: 1个密钥加密,一个密钥解密 ## 各编码长度 1. md5 32位(大部分)/16位(小部分) 2. sha1 40位 3. sha224 56位 4. sha256 64位 5. sha384 96位 6. sha512 128位 ## webpack打包 加载器 插件(模块) 怎么确定 是否调用了 webpack 调用方法 调用的方法是一个单独的字母 入参是 数字 或者 字符串 n(123) n('abc') n方法中有 return e[t].call(a.exports, a, a.exports, n) webpack打包的方法 加载器 存方法 取方法 方法存在 直接取 方法不存在 加载一遍 把加载的内容存在缓存里 ## this定位 1. 看类 2. 方法定位 3. this.属性 = ## 注意事项 1. 遇到window级别的参数需要在js代码内将此参数设置为global 2. 注意环境参数,可能需要补windows环境 3. 遇到webpack,先去拿到webpack加载器 4. 多次刷新看参数,如果参数不变,可以直接使用参数的值 5. 进行参数测试,可以确认哪些参数需要逆向,降低工作量,但容易直接被403。 6. 请求频率过高,容易403,注意设置休眠时间 7. 请求时"Content-Type": "application/json"此内容会影响发送数据时的数据类型,数据类型错误服务器将无法返回数据 8. 存在传递参数不对 依然返回数据,但是数据是错误的数据 9. 应用版本更新后,老版本的api接口可能依旧存在,通常情况下,某些老版本接口不验证参数依旧可以访问数据 ## node下载 1. 下载nvm 2. nvm install 16 3. nvm list 4. nvm use 16 ## 存放文件 1. 笔记 2. 项目 + 思路分析 ### Python执行js输出中文出现乱码 #### 方法一 在每个python文件开头添加下面的代码 ```python import subprocess from functools import partial subprocess.Popen = partial(subprocess.Popen, encoding='utf-8') ``` #### 方法二 原始配置 PYTHONUNBUFFERED=1; 错误:读取中文时出现乱码 或者 执行js时出现报错 解决: 在运行/调试配置内的编辑配置,选择左下角编辑配置模版,选择Python,选择环境变量 PYTHONUNBUFFERED=1;PYTHONIOENCODING=utf-8;PYTHONUTF8=1 之后代码运行无需再进行配置或添加代码