Skip to content

Latest commit

 

History

History
192 lines (131 loc) · 37.8 KB

577-1899959-js逆向_解密.sy.md

File metadata and controls

192 lines (131 loc) · 37.8 KB
show version enable_checker
step
1.0
true

爬取图片数据

回忆

cba的乱码问题

firefox https://www.cbaleague.com/
  • 开启后台开发工具
    • 选择球员基础数据
    • 观察到一部刷新

图片描述

  • 结果出现base64加密过的文本
  • 应该如何解密呢?

找到代码

  • 在开发者工具中选择调试器
    • 找到js 调整格式
    • 搜索interception

图片描述

  • 找到代码 设置断点

图片描述

  • 继续运行

继续刷新

  • 刷新球员范围

图片描述

  • js执行到断点
  • 切换到控制台

观察变量

图片描述

  • data就是加密传输的数据

图片描述

  • $6e 就是解密函数

图片描述

  • $6e具体怎么写的呢?

找到加密函数

  • 在控制台输入$6e

图片描述

  • 找到定义

图片描述

  • 找到相关的
    • 密钥
    • 加密方法
    • pad方法
  • 具体怎么解密呢?

准备工作

pip install pycryptodome
  • 安装类库

图片描述

  • 确定算法

前台筛选

  • 在控制台中复制加密后的数据
from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad  # 去掉填充的, Pkcs7

import base64
import requests
import json


def decrypt(s):
    s = base64.b64decode(s)    # 服务器返回的数据是base64格式的.
    key = "uVayqL4ONKjFbVzQ".encode("utf-8")
    # 解密流程
    # 创建解密器
    aes = AES.new(key=key, mode=AES.MODE_ECB)
    # 解密
    ming = aes.decrypt(s)
    # 请注意, AES加密的时候. 是需要对数据进行填充的, 每16个一组.
    # 需要手动去掉填充.
    ming = unpad(min, 16)
    return ming.decode("utf-8")


if __name__ == '__main__':
    s ="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"
    print(decrypt(s))

观察效果

  • 由于选择的是2000年
    • 出现了姚明、刘玉栋、单涛、胡卫东等

图片描述

  • 总共多少页呢?

页数统计

图片描述

  • 每页20人
  • 总共4页

对接requests

from Crypto.Util.Padding import unpad  # 去掉填充的, Pkcs7

import base64
import requests
import json
import time

def send_req(url):
    headers = {
        "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"
    }
    response = requests.get(url, headers=headers)
    return response.text


def decrypt(s):
    s = base64.b64decode(s)    # 服务器返回的数据是base64格式的.
    key = "uVayqL4ONKjFbVzQ".encode("utf-8")
    # 解密流程
    # 创建解密器
    aes = AES.new(key=key, mode=AES.MODE_ECB)
    # 解密
    ming = aes.decrypt(s)
    # 请注意, AES加密的时候. 是需要对数据进行填充的, 每16个一组.
    # 需要手动去掉填充.
    ming = unpad(ming, 16)
    return ming.decode("utf-8")


if __name__ == '__main__':
    dic = dict()
    url = "https://data-server.cbaleague.com/api/com-code-tables/getTeam?type=2&season=2021"
    print(url)
    ret = send_req(url)
    print(ret)
    j = json.loads(decrypt(ret))
    print(j)

总结🤔

  • 这次初步理解了js逆向
    • 相应数据到浏览器的时候是加密的
    • 那么就需要找到解密的方法进行解密
  • 下次再爬点什么呢?🤔
  • 下次再说!👋