声明:
本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!

逆向分析

python代码

session = requests.session()
headers = {
    "accept": "application/json, text/plain, */*",
    "accept-language": "zh-CN,zh;q=0.9",
    "cache-control": "no-cache",
    "content-type": "application/x-www-form-urlencoded;charset=UTF-8",
    "sec-ch-ua": "\"Not A(Brand\";v=\"8\", \"Chromium\";v=\"132\", \"Microsoft Edge\";v=\"132\"",
    "sec-ch-ua-mobile": "?0",
    "sec-ch-ua-platform": "\"Windows\"",
    "sec-fetch-dest": "empty",
    "sec-fetch-mode": "cors",
    "sec-fetch-site": "same-site",
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 Edg/132.0.0.0"
}
cookies = {

}
url = "/getImgVerifyCodeSessionId"
data = {
    "functionId": "getImgVerifyCodeSessionId",
    "appid": "dr-platform",
    "client": "pc",
    "loginType": "3",
    "body": "{}"
}
response = session.post(url, headers=headers, data=data, cookies=cookies)
data = response.json()
# print(data)
result = data['result']
sessionId = result['sessionId']
url = "/api/fp"
cp = execjs.compile(open('run.js', 'r', encoding='utf-8').read())
data = cp.call('getFp', sessionId)

response = session.post(url, headers=headers, data=data)
# print(response.text)
data = response.json()
st = data['st']
fp = data['fp']
url = "/api/check"
data = cp.call('getBg', st, sessionId)

response = session.post(url, headers=headers, data=data)
data = response.json()
print(data)
img = data['img']
b1 = json.loads(img)['b1']
base_b1 = b1.replace('data:image/png;base64,', '')
with open('bg.png', 'wb') as fp:
    fp.write(base64.b64decode(base_b1))

结果

 

总结

1.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐