文章目录
-
- 概要
- 整体流程
- 实操阶段
- 加密部分
- 去验证登录试试
-
- 1 流程梳理
- 2 实操
- 加载js代码
- 准备登陆信息
- 去登陆
概要
使用的库:
import requests
import execjs
import base64
import ddddocr
import json
基础命令安装
pip install requests execjs ddddocr
整体流程
实操阶段






加密部分
进入加密函数 
特征很明显,这是一个rsa加密,并且没有任何不确定的数值 
直接撸代码
var JSEncrypt = require("node-jsencrypt")
encryptFn = function (e) {
var o = new JSEncrypt;
return o.setPublicKey("公钥"),
o.encrypt(e)
}
去验证登录试试
1 流程梳理
1.1 先加载登录页面,需要加载验证码
1.2 识别验证码图片
1.3 拿到getTime返回的data数据
1.4 加载js代码
1.5 准备登陆信息
1.6 去登陆
2 实操
session = requests.Session()
session.headers = {
浏览器里的头信息
}
login_page_url = '加载页面url'
session.get(login_page_url) # 访问登录页面
verify_url = "验证码数据包url"
resp = session.post(verify_url, headers={
"content-type":"application/json;charset=UTF-8"
})
bs = base64.b64decode(resp.json()['data'].split(',')[–1])
dddd = ddddocr.DdddOcr(show_ad=False)
verify_number = dddd.classification(bs)
getTime_url = "getTime数据包url"
getTime_resp = session.post(getTime_url, headers={
"content-type": "application/json;charset=UTF-8" # 特殊的头信息
})
tm = getTime_resp.json()['data']
加载js代码
f = open("逆向.js", mode='r', encoding="utf-8")
js_code = f.read()
f.close()
js = execjs.compile(js_code)
准备登陆信息
pws = js.call('encryptFn', 密码 + str(tm))
payload_data = {
"imageCaptchaCode": verify_number,
"userName": "账号",
"password": pws
}
去登陆
login_url = "登录数据包url"
login_resp = session.post(login_url, data=json.dumps(payload_data, separators=(',', ':')), headers={
"content-type":"application/json;charset=UTF-8"
})



![[Android] 简捷分身双开 -应用多开分身独立运行-171主机测评](https://www.171host.com/wp-content/uploads/2026/11/20261101024518-6ae6a7bec2a4c-220x150.jpg)
