Files
live-hub-py/e语言/huya/登录/虎牙操作.txt
T
2026-07-04 14:57:30 +08:00

1520 lines
112 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
.版本 2
.支持库 spec
.程序集 虎牙操作
.子程序 密码sha1, 文本型, 公开, 本程序由[城南Post助手生成],依赖于Rs支持库!
.参数 参_pass, 文本型
.局部变量 value, 文本型
.局部变量 v8, , , , <!!!>
??? () ' <!!!>
value ??? () ' <!!!>
返回 (value)
.子程序 生成game_did, 文本型, 公开
.局部变量 value, 文本型
.局部变量 v8, , , , <!!!>
??? () ' <!!!>
value ??? () ' <!!!>
返回 (value)
.子程序 生成guid, 文本型, 公开, 本程序由[城南Post助手生成],依赖于Rs支持库!
.参数 参_N, 文本型, 可空
.局部变量 value, 文本型
.局部变量 v8, , , , <!!!>
' // 请自行在软件启动后,调用 rsV8CreateIsolate 命令创建虚拟机!
??? () ' <!!!>
value ??? () ' <!!!>
返回 (value)
.子程序 计算act, 文本型, 公开, 本程序由[城南Post助手生成],依赖于Rs支持库!
.参数 参_js, 文本型
.参数 参_数组, 文本型
.参数 参_huyapk, 文本型
.局部变量 value, 文本型
.局部变量 v8, , , , <!!!>
.局部变量 jscode, 文本型
jscode 子文本替换 (#Js_Code5, “[jsss]”, 参_js, , , 真)
' // 请自行在软件启动后,调用 rsV8CreateIsolate 命令创建虚拟机!
??? () ' <!!!>
value ??? () ' <!!!>
返回 (value)
.子程序 计算act_data, 文本型, 公开, 本程序由[城南Post助手生成],依赖于Rs支持库!
.参数 参_js, 文本型
.参数 参_数组, 文本型
.参数 参_huyapk, 文本型
.局部变量 value, 文本型
.局部变量 v8, , , , <!!!>
.局部变量 jscode, 文本型
jscode 子文本替换 (#Js_Code5, “[jsss]”, 参_js, , , 真)
' 置剪辑板文本 (jscode)
' 调试输出 (“get_act(” 参_数组 “,'” 参_huyapk “')”)
' // 请自行在软件启动后,调用 rsV8CreateIsolate 命令创建虚拟机!
??? () ' <!!!>
value ??? () ' <!!!>
返回 (value)
.子程序 生成requestId, 文本型, 公开, 本程序由[城南Post助手生成],依赖于Rs支持库!
.局部变量 value, 文本型
.局部变量 v8, , , , <!!!>
??? () ' <!!!>
value ??? () ' <!!!>
返回 (value)
.子程序 __________________________________________________________________
.子程序 hy注册, 逻辑型, 公开
.参数 参_号码, 文本型
.参数 参_context, 文本型
.参数 返回sdid, 文本型, 参考
.参数 返回requestId, 文本型, 参考
.参数 返回_authId, 文本型, 参考 可空
.参数 返回sessionData, 文本型, 参考
.局部变量 httpR, WinHttpR
.局部变量 局_IP, 文本型
.局部变量 str, 文本型
.局部变量 body, 文本型
.局部变量 requestId, 文本型
.局部变量 yyjson, json对象
.局部变量 sdid, 文本型
.局部变量 encryptSeed, 文本型
.局部变量 dataurl, 文本型
.局部变量 token, 文本型
.局部变量 reqid, 文本型
.局部变量 heareds, 文本型
.局部变量 sessionData, 文本型
.局部变量 behavior, 文本型
.局部变量 param, 文本型
.局部变量 gurl, 文本型
.局部变量 key, 文本型
.局部变量 vurl, 文本型
.局部变量 js代码, 文本型
.局部变量 mobile, 文本型
.局部变量 authId, 文本型
.局部变量 returnCode, 整数型
.局部变量 password, 文本型
.局部变量 dtuStr, 文本型
.局部变量 puzzleStr, 文本型
.局部变量 segment, 文本型
.局部变量 huyapk, 文本型
.局部变量 info, 文本型
.局部变量 局_act, 文本型
.局部变量 point, 文本型
.局部变量 code, 文本型
.局部变量 time1, 文本型
.局部变量 heareds2, 文本型
.局部变量 heareds3, 文本型
' 固定值 appSign=1ce3bf682483d03f146f58232ec10635 算法MD5(5002_2.6_bfd434f70d40433c6b57a781dbcee91a)
reqid 生成guid (“1”)
requestId 生成requestId ()
' game_did 生成game_did ()
' __yamid_new 到大写 (生成guid ())
heareds “sec-ch-ua: ” #引号 “Not_A Brand” #引号 “;v=” + #引号 + “8” + #引号 + “, ” + #引号 + “Chromium” + #引号 “;v=” + #引号 + “120” + #引号 + “, ” #引号 “Google Chrome” #引号 “;v=” + #引号 + “120” + #引号 + “” + #换行符 “sec-ch-ua-mobile: ?0” #换行符 “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36” #换行符 “Access-Control-Allow-Methods: PUT,GET,POST,OPTIONS” #换行符 “Content-type: application/json” #换行符 “Access-Control-Allow-Origin: *” #换行符 “Access-Control-Allow-Headers: X-Requested-With, Content-Type, X-File-Name” #换行符 “sec-ch-ua-platform: ” #引号 “Windows” + #引号 + “” #换行符 + “Accept: */*” #换行符 “Origin: https://aq.huya.com” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: cors” #换行符 “Sec-Fetch-Dest: empty” #换行符 “Referer: https://aq.huya.com/”
局_IP GetIP ()
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, “https://df.huya.com/web/df/token”)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds)
httpR.Send (“{” #引号 “encryptVersion” #引号 “:” + #引号 + “1.0.1” + #引号 + “,” #引号 “fingerprintVersion” #引号 “:” #引号 + “1.2.24” + #引号 + “}”)
str httpR.GetResponseTextU2A ()
调试输出 (“取token--”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str)
token yyjson.取文本 (“data/token”)
.如果真 (token “”)
返回sessionData “token失败”
返回 (假)
.如果真结束
body 子文本替换 (#常量token2, “[token]”, token, , , 真)
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, “https://df.huya.com/web/df/collect”)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds)
httpR.Send (body)
str httpR.GetResponseTextU2A ()
调试输出 (“sdid--”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str)
sdid yyjson.取文本 (“data/sdid”)
.如果真 (sdid “”)
返回sessionData “sdid失败”
返回 (假)
.如果真结束
heareds2 “Host: udbreg.huya.com” #换行符 “Connection: keep-alive” #换行符 “Content-Length: 1498” #换行符 “reqid: 57969273” #换行符 “sec-ch-ua: ” #引号 “Not_A Brand” #引号 “;v=” + #引号 + “8” + #引号 + “, ” + #引号 + “Chromium” + #引号 “;v=” + #引号 + “120” + #引号 + “, ” #引号 “Google Chrome” #引号 “;v=” + #引号 + “120” + #引号 + “” + #换行符 + “uri: 60003” #换行符 “sec-ch-ua-mobile: ?0” #换行符 “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36” #换行符 “content-type: application/json;charset=UTF-8” #换行符 “context: ” 参_context #换行符 “lcid: 2052” #换行符 “sec-ch-ua-platform: ” #引号 “Windows” + #引号 + “” #换行符 + “Accept: */*” #换行符 “Origin: https://udbreg.huya.com” #换行符 “Sec-Fetch-Site: same-origin” #换行符 “Sec-Fetch-Mode: cors” #换行符 “Sec-Fetch-Dest: empty” #换行符 “Referer: https://udbreg.huya.com/web/middle/2.6/57952181/https/d3831f83d3d44c7783f35bd7c6657152”
time1 = 时间_取现行时间戳 ()
behavior 编码_URL编码_JS (“{” + #引号 + “furl” + #引号 + “:” #引号 “https://www.huya.com/” #引号 “,” + #引号 + “curl” + #引号 + “:” #引号 “https://www.huya.com/” #引号 “,” #引号 + “user_action” #引号 “:[{” + #引号 + “id” + #引号 + “:” + #引号 + “31” + #引号 + “,” + #引号 + “x” + #引号 + “:660,” + #引号 + “y” + #引号 + “:377,” + #引号 + “d” + #引号 + “:6097,” + #引号 + “time” #引号 “:” time1 + “},{” + #引号 + “id” + #引号 + “:” + #引号 + “25” + #引号 + “,” + #引号 + “d” + #引号 + “:7648,” + #引号 + “time” #引号 “:” time1 + “},{” + #引号 + “id” + #引号 + “:” + #引号 + “25” + #引号 + “,” + #引号 + “d” + #引号 + “:8580,” + #引号 + “time” #引号 “:” time1 + “},{” + #引号 + “id” + #引号 + “:” + #引号 + “26” + #引号 + “,” + #引号 + “d” + #引号 + “:8580,” + #引号 + “time” #引号 “:” time1 + “},{” + #引号 + “id” + #引号 + “:” + #引号 + “26” + #引号 + “,” + #引号 + “d” + #引号 + “:11840,” + #引号 + “time” #引号 “:” time1 + “},{” + #引号 + “id” + #引号 + “:” + #引号 + “28” + #引号 + “,” + #引号 + “d” + #引号 + “:11840,” + #引号 + “time” #引号 “:” time1 + “},{” + #引号 + “id” + #引号 + “:” + #引号 + “28” + #引号 + “,” + #引号 + “d” + #引号 + “:15724,” + #引号 + “time” #引号 “:” time1 + “},{” + #引号 + “id” + #引号 + “:” + #引号 + “26” + #引号 + “,” + #引号 + “d” + #引号 + “:15724,” + #引号 + “time” #引号 “:” time1 + “},{” + #引号 + “id” + #引号 + “:” + #引号 + “26” + #引号 + “,” + #引号 + “d” + #引号 + “:16960,” + #引号 + “time” #引号 “:” time1 + “},{” + #引号 + “id” + #引号 + “:” + #引号 + “27” + #引号 + “,” + #引号 + “x” + #引号 + “:629,” + #引号 + “y” + #引号 + “:176,” + #引号 + “d” + #引号 + “:17120,” + #引号 + “time” #引号 “:” time1 “}]}”, 1)
body = “{” + #引号 + “uri” + #引号 + “:” + #引号 + “60003” + #引号 + “,” + #引号 + “version” + #引号 + “:” + #引号 + “2.6” + #引号 + “,” + #引号 + “context” + #引号 + “:” #引号 + 参_context + #引号 “,” #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “appSign” + #引号 + “:” #引号 “1ce3bf682483d03f146f58232ec10635” #引号 “,” #引号 + “authId” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sdid” + #引号 + “:” + #引号 + sdid + #引号 + “,” + #引号 + “lcid” + #引号 + “:” + #引号 + “2052” + #引号 + “,” + #引号 + “byPass” + #引号 + “:” + #引号 + “3” + #引号 + “,” + #引号 + “requestId” + #引号 “:” #引号 + requestId + #引号 “,” + #引号 + “data” + #引号 + “:{” + #引号 + “phone” + #引号 + “:” + #引号 + “086” + 参_号码 + #引号 + “,” + #引号 + “behavior” + #引号 “:” #引号 + behavior + #引号 + “,” + #引号 + “page” + #引号 + “:” #引号 “https%3A%2F%2Fwww.huya.com%2F” #引号 “}}”
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, “https://udbreg.huya.com/sms/v2/send/reg”)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds2)
httpR.Send (body)
str httpR.GetResponseTextU2A ()
调试输出 (“发送短信1--”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
.如果真 (httpR.GetStatus () ≠ 200)
返回sessionData “发送短信失败”
返回 (假)
.如果真结束
yyjson.清空 ()
yyjson.解析 (str)
returnCode yyjson.取整数 (“returnCode”)
sessionData yyjson.取文本 (“data/sessionData”)
调试输出 (“returnCode*----”, returnCode)
.判断开始 (returnCode 0)
返回sdid sdid
返回requestId requestId
返回sessionData sessionData
返回 (真)
.判断 (returnCode 10030)
dataurl yyjson.取文本 (“data/strategys/0/data”)
param 文本_取出中间文本 (dataurl, “param=”, “&”)
mobile 文本_取出中间文本 (dataurl, “mobile=”, “&”)
.如果真 (param “”)
返回sessionData “param失败”
返回 (假)
.如果真结束
.默认
返回sessionData str
返回 (假)
.判断结束
heareds3 “Host: udbrtt.huya.com” #换行符 “Connection: keep-alive” #换行符 “Content-Length: 1042” #换行符 “sec-ch-ua: ” #引号 “Not_A Brand” #引号 “;v=” + #引号 + “8” + #引号 + “, ” + #引号 + “Chromium” + #引号 “;v=” + #引号 + “120” + #引号 + “, ” #引号 “Google Chrome” #引号 “;v=” + #引号 + “120” + #引号 + “” + #换行符 “accept: application/json, text/plain, */*” #换行符 “content-type: application/json” #换行符 “sec-ch-ua-mobile: ?0” #换行符 “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36” #换行符 “sec-ch-ua-platform: ” #引号 “Windows” + #引号 + “” #换行符 “Origin: https://aq.huya.com” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: cors” #换行符 “Sec-Fetch-Dest: empty” #换行符 “Referer: https://aq.huya.com/”
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, “https://udbrtt.huya.com/auth/client/config3”)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds3)
httpR.Send (“{” #引号 “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “data” + #引号 + “:{” #引号 “urlParamMap” #引号 “:{” #引号 “hideShareButton” #引号 “:” + #引号 + “1” + #引号 + “,” + #引号 + “param” + #引号 + “:” + #引号 + param + #引号 + “,” #引号 + “sceneType” + #引号 + “:” + #引号 + “16” + #引号 + “,” + #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “mobile” + #引号 + “:” + #引号 + 参_号码 + #引号 + “,” + #引号 “allowRefresh” + #引号 “:” + #引号 + “0” + #引号 + “},” + #引号 + “wupData” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “page” + #引号 + “:” #引号 “https://aq.huya.com/p/udb_login.html?v=” 取文本左边 (时间_取现行时间戳 (), 8) + “00000” + #引号 “,” #引号 + “behavior” + #引号 “:” #引号 + “%5B%5D” + #引号 + “,” + #引号 + “info” + #引号 + “:” + #引号 + sdid + #引号 + “,” #引号 + “cTuIndex” #引号 “:0}}”)
str httpR.GetResponseTextU2A ()
调试输出 (“config3--”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str)
gurl yyjson.取文本 (“data/gurl”)
key yyjson.取文本 (“data/key”)
vurl yyjson.取文本 (“data/vurl”)
js代码 yyjson.取文本 (“data/js”)
.如果真 (gurl “”)
返回sessionData “config3取参失败”
返回 (假)
.如果真结束
调试输出 (gurl)
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, gurl)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds3)
httpR.Send (“{” #引号 “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “data” + #引号 + “:{” #引号 “urlParamMap” #引号 “:{” #引号 “hideShareButton” #引号 “:” + #引号 + “1” + #引号 + “,” + #引号 + “param” + #引号 + “:” + #引号 + param + #引号 + “,” #引号 + “sceneType” + #引号 + “:” + #引号 + “16” + #引号 + “,” + #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “mobile” + #引号 + “:” #引号 + mobile + #引号 “,” #引号 “allowRefresh” + #引号 “:” + #引号 + “0” + #引号 + “},” + #引号 + “wupData” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “page” + #引号 + “:” #引号 “https://aq.huya.com/p/udb_login.html?v=” 取文本左边 (时间_取现行时间戳 (), 8) + “00000” + #引号 “,” #引号 + “behavior” + #引号 “:” #引号 + “%5B%5D” + #引号 + “,” + #引号 + “info” + #引号 + “:” + #引号 + sdid + #引号 + “,” + #引号 + “ver” + #引号 + “:5}}”)
str httpR.GetResponseTextU2A ()
调试输出 (“gurl---”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
.如果真 (寻找文本 (str, “服务器开小差”, , 假) ≠ -1)
返回sessionData “服务器开小差”
返回 (假)
.如果真结束
yyjson.清空 ()
yyjson.解析 (str)
dtuStr yyjson.取文本 (“data/dtuStr”)
puzzleStr yyjson.取文本 (“data/puzzleStr”)
segment yyjson.取文本 (“data/segment”)
huyapk yyjson.取文本 (“data/huyapk”)
code yyjson.取文本 (“data/code”)
调试输出 (“segment---”, segment)
.如果真 (segment “”)
返回sessionData “segment取参失败”
返回 (假)
.如果真结束
' 局_act 计算act (js代码, segment, huyapk)
' 返回 (假)
httpR.Open (“POST”, “http://127.0.0.1:6001/get_authId”)
yyjson.清空 ()
yyjson.置文本 (“huyapk”, huyapk)
yyjson.置文本 (“segment”, segment)
yyjson.置文本 (“hyjs”, js代码)
yyjson.置文本 (“dtuStr”, dtuStr)
yyjson.置文本 (“puzzleStr”, puzzleStr)
httpR.SetRequestHeaders (“content-type: application/json”)
httpR.Send (yyjson.到JSON ())
str httpR.GetResponseTextU2A ()
调试输出 (“get_authId---”, str)
yyjson.清空 ()
yyjson.解析 (str)
point yyjson.取文本 (“data”)
.如果真 (yyjson.取整数 (“code”) 500)
返回sessionData “authId滑块失败”
返回 (假)
.如果真结束
局_act “[” 计算act_data (js代码, 文本_替换 (#常量act_data, , , , “[point]”, point, “[code]”, code), huyapk) “]”
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, vurl)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds3)
httpR.Send (“{” #引号 “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “data” + #引号 + “:{” #引号 “urlParamMap” #引号 “:{” #引号 “hideShareButton” #引号 “:” + #引号 + “1” + #引号 + “,” + #引号 + “param” + #引号 + “:” + #引号 + param + #引号 + “,” #引号 + “sceneType” + #引号 + “:” + #引号 + “16” + #引号 + “,” + #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “mobile” + #引号 + “:” #引号 + mobile + #引号 “,” #引号 “allowRefresh” + #引号 “:” + #引号 + “0” + #引号 + “},” + #引号 + “wupData” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “page” + #引号 + “:” #引号 “https://aq.huya.com/p/udb_login.html?v=” 取文本左边 (时间_取现行时间戳 (), 8) + “00000” + #引号 “,” #引号 + “behavior” + #引号 “:” #引号 “%5B%7B%22action%22%3A%22mousedown%22%2C%22id%22%3A%22%22%2C%22txt%22%3A%22%22%2C%22clientX%22%3A56%2C%22clientY%22%3A205%2C%22clientWidth%22%3A350%2C%22clientHeight%22%3A268%2C%22isTrusted%22%3Atrue%2C%22timeStamp%22%3A1000%2C%22nowTime%22%3A1731503011000%7D%2C%7B%22action%22%3A%22mousedown%22%2C%22id%22%3A%22%22%2C%22txt%22%3A%22%22%2C%22clientX%22%3A72%2C%22clientY%22%3A203%2C%22clientWidth%22%3A350%2C%22clientHeight%22%3A268%2C%22isTrusted%22%3Atrue%2C%22timeStamp%22%3A4000%2C%22nowTime%22%3A1731503014000%7D%5D” #引号 “,” + #引号 + “info” + #引号 + “:” + #引号 + sdid + #引号 + “,” + #引号 + “act” + #引号 + “:” + 局_act + “,” + #引号 + “ver” + #引号 + “:5}}”)
str httpR.GetResponseTextU2A ()
调试输出 (“vurl---”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str)
authId yyjson.取文本 (“data/authId”)
.如果真 (authId “”)
返回sessionData “提交滑块失败:” + str
返回 (假)
.如果真结束
behavior “%7B%22furl%22%3A%22https%3A%2F%2Fwww.huya.com%2F%22%2C%22curl%22%3A%22https%3A%2F%2Fwww.huya.com%2F%22%2C%22user_action%22%3A%5B%7B%22id%22%3A%2231%22%2C%22x%22%3A690%2C%22y%22%3A383%2C%22d%22%3A953624%2C%22time%22%3A1731651784322%7D%2C%7B%22id%22%3A%2225%22%2C%22d%22%3A954523%2C%22time%22%3A1731651785221%7D%2C%7B%22id%22%3A%2225%22%2C%22d%22%3A961283%2C%22time%22%3A1731651791981%7D%2C%7B%22id%22%3A%2227%22%2C%22x%22%3A626%2C%22y%22%3A173%2C%22d%22%3A961411%2C%22time%22%3A1731651792109%7D%5D%7D”
body = “{” + #引号 + “uri” + #引号 + “:” + #引号 + “60003” + #引号 + “,” + #引号 + “version” + #引号 + “:” + #引号 + “2.6” + #引号 + “,” + #引号 + “context” + #引号 + “:” #引号 + 参_context + #引号 “,” #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “appSign” + #引号 + “:” #引号 “1ce3bf682483d03f146f58232ec10635” #引号 “,” #引号 + “authId” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sdid” + #引号 + “:” + #引号 + sdid + #引号 + “,” + #引号 + “lcid” + #引号 + “:” + #引号 + “2052” + #引号 + “,” + #引号 + “byPass” + #引号 + “:” + #引号 + “3” + #引号 + “,” + #引号 + “requestId” + #引号 “:” #引号 + requestId + #引号 “,” + #引号 + “data” + #引号 + “:{” + #引号 + “phone” + #引号 + “:” + #引号 + “086” + 参_号码 + #引号 + “,” + #引号 + “authCode” + #引号 “:” #引号 + authId + #引号 “,” #引号 “sessionData” + #引号 “:” #引号 sessionData #引号 “,” #引号 + “behavior” + #引号 “:” #引号 + behavior + #引号 + “,” + #引号 + “page” + #引号 + “:” #引号 “https%3A%2F%2Fwww.huya.com%2F” #引号 “}}”
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, “https://udbreg.huya.com/sms/v2/send/reg”)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds2)
httpR.Send (body)
str httpR.GetResponseTextU2A ()
调试输出 (“发送短信222---”, 参_号码, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str)
.如果真 (yyjson.取文本 (“returnCode”) “0”)
返回sessionData yyjson.取文本 (“data/sessionData”)
返回_authId authId
返回sdid sdid
返回requestId requestId
返回 (真)
.如果真结束
返回sessionData “发送短信失败:” + str
返回 (假)
.子程序 hy提交, 逻辑型
.参数 参_号码, 文本型
.参数 参_短信, 文本型
.参数 参_pass, 文本型
.参数 参_context, 文本型
.参数 参_sdid, 文本型
.参数 参_requestId, 文本型
.参数 参_sessionData, 文本型
.参数 参_authId, 文本型, 可空
.参数 返回Cookie, 文本型, 参考
.局部变量 局_IP, 文本型
.局部变量 httpR, WinHttpR
.局部变量 heareds, 文本型
.局部变量 yyjson, json对象
.局部变量 str, 文本型
heareds “sec-ch-ua: ” #引号 “Not_A Brand” #引号 “;v=” + #引号 + “8” + #引号 + “, ” + #引号 + “Chromium” + #引号 “;v=” + #引号 + “120” + #引号 + “, ” #引号 “Google Chrome” #引号 “;v=” + #引号 + “120” + #引号 + “” + #换行符 “sec-ch-ua-mobile: ?0” #换行符 “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36” #换行符 “Access-Control-Allow-Methods: PUT,GET,POST,OPTIONS” #换行符 “Content-type: application/json” #换行符 “Access-Control-Allow-Origin: *” #换行符 “Access-Control-Allow-Headers: X-Requested-With, Content-Type, X-File-Name” #换行符 “sec-ch-ua-platform: ” #引号 “Windows” + #引号 + “” #换行符 + “Accept: */*” #换行符 “Origin: https://aq.huya.com” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: cors” #换行符 “Sec-Fetch-Dest: empty” #换行符 “Referer: https://aq.huya.com/”
局_IP GetIP ()
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, “https://udbreg.huya.com/web/v2/mobileReg”)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds)
httpR.Send (“{” #引号 “uri” + #引号 + “:” + #引号 + “60001” + #引号 + “,” + #引号 + “version” + #引号 + “:” + #引号 + “2.6” + #引号 + “,” + #引号 + “context” + #引号 + “:” #引号 + 参_context + #引号 “,” #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “appSign” + #引号 + “:” #引号 “1ce3bf682483d03f146f58232ec10635” #引号 “,” #引号 + “authId” + #引号 + “:” #引号 + 参_authId + #引号 + “,” + #引号 + “sdid” + #引号 + “:” + #引号 + 参_sdid + #引号 + “,” + #引号 + “lcid” + #引号 + “:” + #引号 + “2052” + #引号 + “,” + #引号 + “byPass” + #引号 + “:” + #引号 + “3” + #引号 + “,” + #引号 + “requestId” + #引号 “:” #引号 + 参_requestId + #引号 “,” + #引号 + “data” + #引号 + “:{” + #引号 + “phone” + #引号 + “:” + #引号 + “086” + 参_号码 + #引号 + “,” + #引号 + “password” + #引号 “:” + #引号 + 参_pass + #引号 + “,” #引号 + “smsCode” + #引号 + “:” + #引号 + 参_短信 + #引号 + “,” + #引号 + “sessionData” + #引号 “:” #引号 参_sessionData #引号 “,” #引号 + “domainList” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “behavior” + #引号 “:” #引号 “%7B%22furl%22%3A%22https%3A%2F%2Fwww.huya.com%2F%22%2C%22curl%22%3A%22https%3A%2F%2Fwww.huya.com%2F%22%2C%22user_action%22%3A%5B%7B%22id%22%3A%2225%22%2C%22d%22%3A1949%2C%22time%22%3A1731664474692%7D%2C%7B%22id%22%3A%2225%22%2C%22d%22%3A4569%2C%22time%22%3A1731664477312%7D%2C%7B%22id%22%3A%2227%22%2C%22x%22%3A639%2C%22y%22%3A168%2C%22d%22%3A4681%2C%22time%22%3A1731664477424%7D%2C%7B%22id%22%3A%2226%22%2C%22d%22%3A4975%2C%22time%22%3A1731664477718%7D%2C%7B%22id%22%3A%2226%22%2C%22d%22%3A7662%2C%22time%22%3A1731664480405%7D%2C%7B%22id%22%3A%2226%22%2C%22d%22%3A56130%2C%22time%22%3A1731664528873%7D%2C%7B%22id%22%3A%2226%22%2C%22d%22%3A63169%2C%22time%22%3A1731664535912%7D%2C%7B%22id%22%3A%2228%22%2C%22d%22%3A63169%2C%22time%22%3A1731664535912%7D%2C%7B%22id%22%3A%2228%22%2C%22d%22%3A65901%2C%22time%22%3A1731664538644%7D%2C%7B%22id%22%3A%2224%22%2C%22x%22%3A369%2C%22y%22%3A348%2C%22d%22%3A65997%2C%22time%22%3A1731664538740%7D%2C%7B%22id%22%3A%2229%22%2C%22x%22%3A429%2C%22y%22%3A311%2C%22d%22%3A66685%2C%22time%22%3A1731664539428%7D%5D%7D” #引号 “,” + #引号 + “page” + #引号 + “:” #引号 “https%3A%2F%2Fwww.huya.com%2F” #引号 “}}”)
str httpR.GetResponseTextU2A ()
调试输出 (“提交短信”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str)
.如果真 (yyjson.取文本 (“returnCode”) “0”)
返回Cookie httpR.GetAllResponseCookies ()
返回 (真)
.如果真结束
返回Cookie = “注册失败:” + str
返回 (假)
.子程序 _________________________________
.子程序 hy登录, 逻辑型, 公开
.参数 参_user, 文本型
.参数 参_pass, 文本型
.参数 参_cook, 文本型
.参数 返回Cookie, 文本型, 参考
.局部变量 httpR, WinHttpR
.局部变量 局_IP, 文本型
.局部变量 str, 文本型
.局部变量 body, 文本型
.局部变量 requestId, 文本型
.局部变量 yyjson, json对象
.局部变量 sdid, 文本型
.局部变量 encryptSeed, 文本型
.局部变量 dataurl, 文本型
.局部变量 token, 文本型
.局部变量 reqid, 文本型
.局部变量 heareds, 文本型
.局部变量 sessionData, 文本型
.局部变量 behavior, 文本型
.局部变量 param, 文本型
.局部变量 gurl, 文本型
.局部变量 key, 文本型
.局部变量 vurl, 文本型
.局部变量 js代码, 文本型
.局部变量 mobile, 文本型
.局部变量 authId, 文本型
.局部变量 returnCode, 整数型
.局部变量 password, 文本型
.局部变量 dtuStr, 文本型
.局部变量 puzzleStr, 文本型
.局部变量 segment, 文本型
.局部变量 huyapk, 文本型
.局部变量 info, 文本型
.局部变量 局_act, 文本型
.局部变量 point, 文本型
.局部变量 code, 文本型
.局部变量 局_context, 文本型
.局部变量 heareds2, 文本型
.局部变量 局_CK, 文本型
' 固定值 appSign=1ce3bf682483d03f146f58232ec10635 算法MD5(5002_2.6_bfd434f70d40433c6b57a781dbcee91a)
httpR.SetTimeouts (8000, 8000, 8000, 8000)
局_context “WB-” 生成guid () + “-” 到大写 (生成guid ()) “-” 生成guid ()
reqid 生成guid (“1”)
requestId 生成requestId ()
' game_did 生成game_did ()
' __yamid_new 到大写 (生成guid ())
heareds “sec-ch-ua: ” #引号 “Not_A Brand” #引号 “;v=” + #引号 + “8” + #引号 + “, ” + #引号 + “Chromium” + #引号 “;v=” + #引号 + “120” + #引号 + “, ” #引号 “Google Chrome” #引号 “;v=” + #引号 + “120” + #引号 + “” + #换行符 “sec-ch-ua-mobile: ?0” #换行符 “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36” #换行符 “Access-Control-Allow-Methods: PUT,GET,POST,OPTIONS” #换行符 “Content-type: application/json” #换行符 “Access-Control-Allow-Origin: *” #换行符 “Access-Control-Allow-Headers: X-Requested-With, Content-Type, X-File-Name” #换行符 “sec-ch-ua-platform: ” #引号 “Windows” + #引号 + “” #换行符 + “Accept: */*” #换行符 “Origin: https://aq.huya.com” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: cors” #换行符 “Sec-Fetch-Dest: empty” #换行符 “Referer: https://aq.huya.com/”
局_IP GetIP ()
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, “https://df.huya.com/web/df/token”)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds)
httpR.Send (“{” #引号 “encryptVersion” #引号 “:” + #引号 + “1.0.1” + #引号 + “,” #引号 “fingerprintVersion” #引号 “:” #引号 + “1.2.23” + #引号 + “}”)
str httpR.GetResponseTextU2A ()
调试输出 (“取token--”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str)
token yyjson.取文本 (“data/token”)
.如果真 (token “”)
返回Cookie “token失败”
返回 (假)
.如果真结束
body 子文本替换 (#常量token, “[token]”, token, , , 真)
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, “https://df.huya.com/web/df/collect”)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds)
httpR.Send (body)
str httpR.GetResponseTextU2A ()
调试输出 (“sdid--”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str)
sdid yyjson.取文本 (“data/sdid”)
.如果真 (sdid “”)
返回Cookie “sdid失败”
返回 (假)
.如果真结束
body = “{” + #引号 + “uri” + #引号 + “:” + #引号 + “30001” + #引号 + “,” + #引号 + “version” + #引号 + “:” + #引号 + “2.6” + #引号 + “,” + #引号 + “context” + #引号 + “:” #引号 + 局_context + #引号 “,” #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “appSign” + #引号 + “:” #引号 “1ce3bf682483d03f146f58232ec10635” #引号 “,” #引号 + “authId” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sdid” + #引号 + “:” + #引号 + sdid + #引号 + “,” + #引号 + “lcid” + #引号 + “:” + #引号 + “2052” + #引号 + “,” + #引号 + “byPass” + #引号 + “:” + #引号 + “3” + #引号 + “,” + #引号 + “requestId” + #引号 “:” #引号 + requestId + #引号 “,” + #引号 + “data” + #引号 + “:{” #引号 + “userName” + #引号 “:” + #引号 + 参_user + #引号 + “,” #引号 + “password” + #引号 + “:” #引号 + 密码sha1 (参_pass) + #引号 “,” #引号 + “domainList” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “remember” + #引号 + “:” + #引号 + “1” + #引号 + “,” + #引号 + “behavior” + #引号 “:” #引号 “%7B%22furl%22%3A%22https%3A%2F%2Fwww.huya.com%2F%22%2C%22curl%22%3A%22https%3A%2F%2Fwww.huya.com%2F%22%2C%22user_action%22%3A%5B%7B%22id%22%3A%227%22%2C%22d%22%3A2055%2C%22time%22%3A1731711055829%7D%2C%7B%22id%22%3A%227%22%2C%22d%22%3A6100%2C%22time%22%3A1731711059874%7D%2C%7B%22id%22%3A%228%22%2C%22d%22%3A6100%2C%22time%22%3A1731711059874%7D%2C%7B%22id%22%3A%228%22%2C%22d%22%3A14235%2C%22time%22%3A1731711068009%7D%2C%7B%22id%22%3A%2211%22%2C%22x%22%3A466%2C%22y%22%3A274%2C%22d%22%3A14539%2C%22time%22%3A1731711068313%7D%5D%7D” #引号 “,” #引号 + “randomStr” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “page” + #引号 + “:” #引号 “https%3A%2F%2Fwww.huya.com%2F” #引号 “}}”
调试输出 (“passwordLogin-body---”, body)
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, “https://udblgn.huya.com/web/v2/passwordLogin”)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds)
httpR.Send (body)
str httpR.GetResponseTextU2A ()
调试输出 (“登录1--”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str)
returnCode yyjson.取整数 (“returnCode”)
sessionData yyjson.取文本 (“data/sessionData”)
调试输出 (“returnCode*----”, returnCode)
.判断开始 (returnCode 0)
返回Cookie httpR.GetAllResponseCookies ()
返回 (真)
.判断 (returnCode 10030 或 returnCode 10039)
dataurl yyjson.取文本 (“data/strategys/0/data”)
param 文本_取出中间文本 (dataurl, “param=”, “&”)
mobile 文本_取出中间文本 (dataurl, “mobile=”, “&”)
.如果真 (param “”)
返回Cookie “param失败”
返回 (假)
.如果真结束
.默认
返回Cookie str
返回 (假)
.判断结束
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, “https://udbrtt.huya.com/auth/client/config3”)
httpR.SetCookie (参_cook)
httpR.SetRequestHeaders (heareds)
httpR.Send (“{” #引号 “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “data” + #引号 + “:{” #引号 “urlParamMap” #引号 “:{” #引号 “hideShareButton” #引号 “:” + #引号 + “1” + #引号 + “,” + #引号 + “param” + #引号 + “:” + #引号 + param + #引号 + “,” #引号 + “sceneType” + #引号 + “:” + #引号 + “4” + #引号 + “,” + #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “mobile” + #引号 + “:” #引号 + mobile + #引号 “,” #引号 “allowRefresh” + #引号 “:” + #引号 + “0” + #引号 + “},” + #引号 + “wupData” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “page” + #引号 + “:” #引号 “https://aq.huya.com/p/udb_login.html?v=” 取文本左边 (时间_取现行时间戳 (), 8) + “00000” + #引号 “,” #引号 + “behavior” + #引号 “:” #引号 + “%5B%5D” + #引号 + “,” + #引号 + “info” + #引号 + “:” + #引号 + sdid + #引号 + “,” #引号 + “cTuIndex” #引号 “:0}}”)
str httpR.GetResponseTextU2A ()
调试输出 (“config3--”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str)
gurl yyjson.取文本 (“data/gurl”)
key yyjson.取文本 (“data/key”)
vurl yyjson.取文本 (“data/vurl”)
js代码 yyjson.取文本 (“data/js”)
.如果真 (gurl “”)
返回Cookie “config3取参失败”
返回 (假)
.如果真结束
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, gurl)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds)
httpR.Send (“{” #引号 “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “data” + #引号 + “:{” #引号 “urlParamMap” #引号 “:{” #引号 “hideShareButton” #引号 “:” + #引号 + “1” + #引号 + “,” + #引号 + “param” + #引号 + “:” + #引号 + param + #引号 + “,” #引号 + “sceneType” + #引号 + “:” + #引号 + “4” + #引号 + “,” + #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “mobile” + #引号 + “:” #引号 + mobile + #引号 “,” #引号 “allowRefresh” + #引号 “:” + #引号 + “0” + #引号 + “},” + #引号 + “wupData” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “page” + #引号 + “:” #引号 “https://aq.huya.com/p/udb_login.html?v=” 取文本左边 (时间_取现行时间戳 (), 8) + “00000” + #引号 “,” #引号 + “behavior” + #引号 “:” #引号 + “%5B%5D” + #引号 + “,” + #引号 + “info” + #引号 + “:” + #引号 + sdid + #引号 + “,” + #引号 + “ver” + #引号 + “:5}}”)
str httpR.GetResponseTextU2A ()
调试输出 (“gurl---”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
.如果真 (寻找文本 (str, “服务器开小差”, , 假) ≠ -1)
返回Cookie = “服务器开小差”
返回 (假)
.如果真结束
yyjson.清空 ()
yyjson.解析 (str)
dtuStr yyjson.取文本 (“data/dtuStr”)
puzzleStr yyjson.取文本 (“data/puzzleStr”)
segment yyjson.取文本 (“data/segment”)
huyapk yyjson.取文本 (“data/huyapk”)
code yyjson.取文本 (“data/code”)
调试输出 (“segment---”, segment)
.如果真 (segment “”)
返回Cookie “segment取参失败”
返回 (假)
.如果真结束
' 局_act 计算act (js代码, segment, huyapk)
' 返回 (假)
httpR.Open (“POST”, “http://127.0.0.1:6001/get_authId”)
yyjson.清空 ()
yyjson.置文本 (“huyapk”, huyapk)
yyjson.置文本 (“segment”, segment)
yyjson.置文本 (“hyjs”, js代码)
yyjson.置文本 (“dtuStr”, dtuStr)
yyjson.置文本 (“puzzleStr”, puzzleStr)
httpR.SetRequestHeaders (“content-type: application/json”)
httpR.Send (yyjson.到JSON ())
str httpR.GetResponseTextU2A ()
调试输出 (“get_authId---”, str)
yyjson.清空 ()
yyjson.解析 (str)
point yyjson.取文本 (“data”)
.如果真 (yyjson.取整数 (“code”) 500)
返回Cookie “authId滑块失败”
返回 (假)
.如果真结束
局_act “[” 计算act_data (js代码, 文本_替换 (#常量act_data, , , , “[point]”, point, “[code]”, code), huyapk) “]”
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, vurl)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds)
httpR.Send (“{” #引号 “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “data” + #引号 + “:{” #引号 “urlParamMap” #引号 “:{” #引号 “hideShareButton” #引号 “:” + #引号 + “1” + #引号 + “,” + #引号 + “param” + #引号 + “:” + #引号 + param + #引号 + “,” #引号 + “sceneType” + #引号 + “:” + #引号 + “4” + #引号 + “,” + #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “mobile” + #引号 + “:” #引号 + mobile + #引号 “,” #引号 “allowRefresh” + #引号 “:” + #引号 + “0” + #引号 + “},” + #引号 + “wupData” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “page” + #引号 + “:” #引号 “https://aq.huya.com/p/udb_login.html?v=” 取文本左边 (时间_取现行时间戳 (), 8) + “00000” + #引号 “,” #引号 + “behavior” + #引号 “:” #引号 “%5B%7B%22action%22%3A%22mousedown%22%2C%22id%22%3A%22%22%2C%22txt%22%3A%22%22%2C%22clientX%22%3A67%2C%22clientY%22%3A213%2C%22clientWidth%22%3A350%2C%22clientHeight%22%3A268%2C%22isTrusted%22%3Atrue%2C%22timeStamp%22%3A80846%2C%22nowTime%22%3A1731708597128%7D%5D” #引号 “,” + #引号 + “info” + #引号 + “:” + #引号 + sdid + #引号 + “,” + #引号 + “act” + #引号 + “:” + 局_act + “,” + #引号 + “ver” + #引号 + “:5}}”)
str httpR.GetResponseTextU2A ()
调试输出 (“vurl---”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str)
authId yyjson.取文本 (“data/authId”)
.如果真 (authId “”)
返回Cookie = “提交滑块失败:” + str
返回 (假)
.如果真结束
body = “{” + #引号 + “uri” + #引号 + “:” + #引号 + “30001” + #引号 + “,” + #引号 + “version” + #引号 + “:” + #引号 + “2.6” + #引号 + “,” + #引号 + “context” + #引号 + “:” #引号 + 局_context + #引号 “,” #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “appSign” + #引号 + “:” #引号 “1ce3bf682483d03f146f58232ec10635” #引号 “,” #引号 + “authId” + #引号 + “:” #引号 + authId + #引号 + “,” + #引号 + “sdid” + #引号 + “:” + #引号 + sdid + #引号 + “,” + #引号 + “lcid” + #引号 + “:” + #引号 + “2052” + #引号 + “,” + #引号 + “byPass” + #引号 + “:” + #引号 + “3” + #引号 + “,” + #引号 + “requestId” + #引号 “:” #引号 + requestId + #引号 “,” + #引号 + “data” + #引号 + “:{” #引号 + “userName” + #引号 “:” + #引号 + 参_user + #引号 + “,” #引号 + “password” + #引号 + “:” #引号 + 密码sha1 (参_pass) + #引号 “,” #引号 + “authcode” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sessionData” + #引号 “:” #引号 sessionData #引号 “,” #引号 + “domainList” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “remember” + #引号 + “:” + #引号 + “1” + #引号 + “,” + #引号 + “behavior” + #引号 “:” #引号 “%7B%22furl%22%3A%22https%3A%2F%2Fwww.huya.com%2F%22%2C%22curl%22%3A%22https%3A%2F%2Fwww.huya.com%2F%22%2C%22user_action%22%3A%5B%7B%22id%22%3A%227%22%2C%22d%22%3A1090%2C%22time%22%3A1731708503578%7D%2C%7B%22id%22%3A%227%22%2C%22d%22%3A5490%2C%22time%22%3A1731708507978%7D%2C%7B%22id%22%3A%228%22%2C%22d%22%3A5490%2C%22time%22%3A1731708507978%7D%2C%7B%22id%22%3A%228%22%2C%22d%22%3A10015%2C%22time%22%3A1731708512503%7D%2C%7B%22id%22%3A%228%22%2C%22d%22%3A13081%2C%22time%22%3A1731708515569%7D%2C%7B%22id%22%3A%228%22%2C%22d%22%3A13083%2C%22time%22%3A1731708515571%7D%2C%7B%22id%22%3A%2211%22%2C%22x%22%3A535%2C%22y%22%3A291%2C%22d%22%3A13270%2C%22time%22%3A1731708515758%7D%2C%7B%22id%22%3A%2211%22%2C%22d%22%3A98329%2C%22time%22%3A1731708600817%7D%5D%7D” #引号 “,” #引号 + “randomStr” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “page” + #引号 + “:” #引号 “https%3A%2F%2Fwww.huya.com%2F” #引号 “}}”
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, “https://udblgn.huya.com/web/v2/passwordLogin”)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds)
httpR.Send (body)
str httpR.GetResponseTextU2A ()
调试输出 (“登录222---”, 参_user, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str)
returnCode yyjson.取整数 (“returnCode”)
sessionData yyjson.取文本 (“data/sessionData”)
.判断开始 (returnCode 0)
返回Cookie httpR.GetAllResponseCookies ()
返回 (真)
.判断 (returnCode 10030 或 returnCode 10039)
dataurl yyjson.取文本 (“data/strategys/0/data”)
param 文本_取出中间文本 (dataurl, “param=”, “&”)
mobile 文本_取出中间文本 (dataurl, “mobile=”, “&”)
.如果真 (param “”)
返回Cookie “param失败”
返回 (假)
.如果真结束
.默认
返回Cookie str
返回 (假)
.判断结束
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, “https://udbrtt.huya.com/auth/client/config3”)
httpR.SetCookie (参_cook)
httpR.SetRequestHeaders (heareds)
httpR.Send (“{” #引号 “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “data” + #引号 + “:{” #引号 “urlParamMap” #引号 “:{” #引号 “hideShareButton” #引号 “:” + #引号 + “1” + #引号 + “,” + #引号 + “param” + #引号 + “:” + #引号 + param + #引号 + “,” #引号 + “sceneType” + #引号 + “:” + #引号 + “4” + #引号 + “,” + #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “mobile” + #引号 + “:” #引号 + mobile + #引号 “,” #引号 “allowRefresh” + #引号 “:” + #引号 + “0” + #引号 + “},” + #引号 + “wupData” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “page” + #引号 + “:” #引号 “https://aq.huya.com/p/udb_login.html?v=” 取文本左边 (时间_取现行时间戳 (), 8) + “00000” + #引号 “,” #引号 + “behavior” + #引号 “:” #引号 + “%5B%5D” + #引号 + “,” + #引号 + “info” + #引号 + “:” + #引号 + sdid + #引号 + “,” #引号 + “cTuIndex” #引号 “:0}}”)
str httpR.GetResponseTextU2A ()
调试输出 (“config3--”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str)
gurl yyjson.取文本 (“data/gurl”)
key yyjson.取文本 (“data/key”)
vurl yyjson.取文本 (“data/vurl”)
js代码 yyjson.取文本 (“data/js”)
.如果真 (gurl “”)
返回Cookie “config3取参失败”
返回 (假)
.如果真结束
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, gurl)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds)
httpR.Send (“{” #引号 “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “data” + #引号 + “:{” #引号 “urlParamMap” #引号 “:{” #引号 “hideShareButton” #引号 “:” + #引号 + “1” + #引号 + “,” + #引号 + “param” + #引号 + “:” + #引号 + param + #引号 + “,” #引号 + “sceneType” + #引号 + “:” + #引号 + “4” + #引号 + “,” + #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “mobile” + #引号 + “:” #引号 + mobile + #引号 “,” #引号 “allowRefresh” + #引号 “:” + #引号 + “0” + #引号 + “},” + #引号 + “wupData” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “page” + #引号 + “:” #引号 “https://aq.huya.com/p/udb_login.html?v=” 取文本左边 (时间_取现行时间戳 (), 8) + “00000” + #引号 “,” #引号 + “behavior” + #引号 “:” #引号 + “%5B%5D” + #引号 + “,” + #引号 + “info” + #引号 + “:” + #引号 + sdid + #引号 + “,” + #引号 + “ver” + #引号 + “:5}}”)
str httpR.GetResponseTextU2A ()
调试输出 (“gurl---”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
.如果真 (寻找文本 (str, “服务器开小差”, , 假) ≠ -1)
返回Cookie = “服务器开小差”
返回 (假)
.如果真结束
yyjson.清空 ()
yyjson.解析 (str)
dtuStr yyjson.取文本 (“data/dtuStr”)
puzzleStr yyjson.取文本 (“data/puzzleStr”)
segment yyjson.取文本 (“data/segment”)
huyapk yyjson.取文本 (“data/huyapk”)
code yyjson.取文本 (“data/code”)
调试输出 (“segment---”, segment)
.如果真 (segment “”)
返回Cookie “segment取参失败”
返回 (假)
.如果真结束
' 局_act 计算act (js代码, segment, huyapk)
' 返回 (假)
httpR.Open (“POST”, “http://127.0.0.1:6001/get_authId”)
yyjson.清空 ()
yyjson.置文本 (“huyapk”, huyapk)
yyjson.置文本 (“segment”, segment)
yyjson.置文本 (“hyjs”, js代码)
yyjson.置文本 (“dtuStr”, dtuStr)
yyjson.置文本 (“puzzleStr”, puzzleStr)
httpR.SetRequestHeaders (“content-type: application/json”)
httpR.Send (yyjson.到JSON ())
str httpR.GetResponseTextU2A ()
调试输出 (“get_authId---”, str)
yyjson.清空 ()
yyjson.解析 (str)
point yyjson.取文本 (“data”)
.如果真 (yyjson.取整数 (“code”) 500)
返回Cookie “authId滑块失败”
返回 (假)
.如果真结束
局_act “[” 计算act_data (js代码, 文本_替换 (#常量act_data, , , , “[point]”, point, “[code]”, code), huyapk) “]”
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, vurl)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds)
httpR.Send (“{” #引号 “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “data” + #引号 + “:{” #引号 “urlParamMap” #引号 “:{” #引号 “hideShareButton” #引号 “:” + #引号 + “1” + #引号 + “,” + #引号 + “param” + #引号 + “:” + #引号 + param + #引号 + “,” #引号 + “sceneType” + #引号 + “:” + #引号 + “4” + #引号 + “,” + #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “mobile” + #引号 + “:” #引号 + mobile + #引号 “,” #引号 “allowRefresh” + #引号 “:” + #引号 + “0” + #引号 + “},” + #引号 + “wupData” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “page” + #引号 + “:” #引号 “https://aq.huya.com/p/udb_login.html?v=” 取文本左边 (时间_取现行时间戳 (), 8) + “00000” + #引号 “,” #引号 + “behavior” + #引号 “:” #引号 “%5B%7B%22action%22%3A%22mousedown%22%2C%22id%22%3A%22%22%2C%22txt%22%3A%22%22%2C%22clientX%22%3A67%2C%22clientY%22%3A213%2C%22clientWidth%22%3A350%2C%22clientHeight%22%3A268%2C%22isTrusted%22%3Atrue%2C%22timeStamp%22%3A80846%2C%22nowTime%22%3A1731708597128%7D%5D” #引号 “,” + #引号 + “info” + #引号 + “:” + #引号 + sdid + #引号 + “,” + #引号 + “act” + #引号 + “:” + 局_act + “,” + #引号 + “ver” + #引号 + “:5}}”)
str httpR.GetResponseTextU2A ()
调试输出 (“vurl---”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str)
authId yyjson.取文本 (“data/authId”)
.如果真 (authId “”)
返回Cookie = “提交滑块失败:” + str
返回 (假)
.如果真结束
body = “{” + #引号 + “uri” + #引号 + “:” + #引号 + “30001” + #引号 + “,” + #引号 + “version” + #引号 + “:” + #引号 + “2.6” + #引号 + “,” + #引号 + “context” + #引号 + “:” #引号 + 局_context + #引号 “,” #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “appSign” + #引号 + “:” #引号 “1ce3bf682483d03f146f58232ec10635” #引号 “,” #引号 + “authId” + #引号 + “:” #引号 + authId + #引号 + “,” + #引号 + “sdid” + #引号 + “:” + #引号 + sdid + #引号 + “,” + #引号 + “lcid” + #引号 + “:” + #引号 + “2052” + #引号 + “,” + #引号 + “byPass” + #引号 + “:” + #引号 + “3” + #引号 + “,” + #引号 + “requestId” + #引号 “:” #引号 + requestId + #引号 “,” + #引号 + “data” + #引号 + “:{” #引号 + “userName” + #引号 “:” + #引号 + 参_user + #引号 + “,” #引号 + “password” + #引号 + “:” #引号 + 密码sha1 (参_pass) + #引号 “,” #引号 + “authcode” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sessionData” + #引号 “:” #引号 sessionData #引号 “,” #引号 + “domainList” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “remember” + #引号 + “:” + #引号 + “1” + #引号 + “,” + #引号 + “behavior” + #引号 “:” #引号 “%7B%22furl%22%3A%22https%3A%2F%2Fwww.huya.com%2F%22%2C%22curl%22%3A%22https%3A%2F%2Fwww.huya.com%2F%22%2C%22user_action%22%3A%5B%7B%22id%22%3A%227%22%2C%22d%22%3A1090%2C%22time%22%3A1731708503578%7D%2C%7B%22id%22%3A%227%22%2C%22d%22%3A5490%2C%22time%22%3A1731708507978%7D%2C%7B%22id%22%3A%228%22%2C%22d%22%3A5490%2C%22time%22%3A1731708507978%7D%2C%7B%22id%22%3A%228%22%2C%22d%22%3A10015%2C%22time%22%3A1731708512503%7D%2C%7B%22id%22%3A%228%22%2C%22d%22%3A13081%2C%22time%22%3A1731708515569%7D%2C%7B%22id%22%3A%228%22%2C%22d%22%3A13083%2C%22time%22%3A1731708515571%7D%2C%7B%22id%22%3A%2211%22%2C%22x%22%3A535%2C%22y%22%3A291%2C%22d%22%3A13270%2C%22time%22%3A1731708515758%7D%2C%7B%22id%22%3A%2211%22%2C%22d%22%3A98329%2C%22time%22%3A1731708600817%7D%5D%7D” #引号 “,” #引号 + “randomStr” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “page” + #引号 + “:” #引号 “https%3A%2F%2Fwww.huya.com%2F” #引号 “}}”
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, “https://udblgn.huya.com/web/v2/passwordLogin”)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds)
httpR.Send (body)
str httpR.GetResponseTextU2A ()
调试输出 (“登录33---”, 参_user, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str)
returnCode yyjson.取整数 (“returnCode”)
sessionData yyjson.取文本 (“data/sessionData”)
.如果真 (returnCode 0)
返回Cookie httpR.GetAllResponseCookies ()
返回 (真)
.如果真结束
返回Cookie = “登录失败:” + str
返回 (假)
.子程序 hy注册_发送短信, 逻辑型, 公开
.参数 参_号码, 文本型
.参数 参_context, 文本型
.参数 返回sdid, 文本型, 参考
.参数 返回sessionData, 文本型, 参考
.局部变量 httpR, WinHttpR
.局部变量 局_IP, 文本型
.局部变量 str, 文本型
.局部变量 body, 文本型
.局部变量 requestId, 文本型
.局部变量 yyjson, json对象
.局部变量 sdid, 文本型
.局部变量 encryptSeed, 文本型
.局部变量 dataurl, 文本型
.局部变量 token, 文本型
.局部变量 reqid, 文本型
.局部变量 heareds, 文本型
.局部变量 sessionData, 文本型
.局部变量 behavior, 文本型
.局部变量 param, 文本型
.局部变量 gurl, 文本型
.局部变量 key, 文本型
.局部变量 vurl, 文本型
.局部变量 js代码, 文本型
.局部变量 mobile, 文本型
.局部变量 authId, 文本型
.局部变量 returnCode, 整数型
.局部变量 password, 文本型
.局部变量 dtuStr, 文本型
.局部变量 puzzleStr, 文本型
.局部变量 segment, 文本型
.局部变量 huyapk, 文本型
.局部变量 info, 文本型
.局部变量 局_act, 文本型
.局部变量 point, 文本型
.局部变量 code, 文本型
.局部变量 time1, 文本型
.局部变量 heareds2, 文本型
.局部变量 heareds3, 文本型
.局部变量 CK1, 文本型
.局部变量 hZiStr, 文本型
.局部变量 nextAuthUrl, 文本型
.局部变量 返回act, 文本型
.局部变量 str2, 文本型
' 固定值 appSign=1ce3bf682483d03f146f58232ec10635 算法MD5(5002_2.6_bfd434f70d40433c6b57a781dbcee91a)
httpR.SetTimeouts (5000, 5000, 5000, 5000)
reqid 生成guid (“1”)
requestId 生成requestId ()
调试输出 (reqid, , requestId)
' game_did 生成game_did ()
' __yamid_new 到大写 (生成guid ())
heareds “sec-ch-ua: ” #引号 “Not_A Brand” #引号 “;v=” + #引号 + “8” + #引号 + “, ” + #引号 + “Chromium” + #引号 “;v=” + #引号 + “120” + #引号 + “, ” #引号 “Google Chrome” #引号 “;v=” + #引号 + “120” + #引号 + “” + #换行符 “sec-ch-ua-mobile: ?0” #换行符 “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36” #换行符 “Access-Control-Allow-Methods: PUT,GET,POST,OPTIONS” #换行符 “Content-type: application/json” #换行符 “Access-Control-Allow-Origin: *” #换行符 “Access-Control-Allow-Headers: X-Requested-With, Content-Type, X-File-Name” #换行符 “sec-ch-ua-platform: ” #引号 “Windows” + #引号 + “” #换行符 + “Accept: */*” #换行符 “Origin: https://aq.huya.com” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: cors” #换行符 “Sec-Fetch-Dest: empty” #换行符 “Referer: https://aq.huya.com/”
局_IP GetIP ()
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, “https://df.huya.com/web/df/token”)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds)
httpR.Send (“{” #引号 “encryptVersion” #引号 “:” + #引号 + “1.0.1” + #引号 + “,” #引号 “fingerprintVersion” #引号 “:” #引号 + “1.2.23” + #引号 + “}”)
str httpR.GetResponseTextU2A ()
' 调试输出 (“取token--”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str)
token yyjson.取文本 (“data/token”)
.如果真 (token “”)
返回sessionData “token失败”
返回 (假)
.如果真结束
body 子文本替换 (#常量token2, “[token]”, token, , , 真)
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, “https://df.huya.com/web/df/collect”)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds)
httpR.Send (body)
str httpR.GetResponseTextU2A ()
调试输出 (“sdid--”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
CK1 httpR.GetAllResponseCookies ()
yyjson.清空 ()
yyjson.解析 (str)
sdid yyjson.取文本 (“data/sdid”)
.如果真 (sdid “”)
返回sessionData “sdid失败”
返回 (假)
.如果真结束
heareds2 “Host: udblgn.huya.com” #换行符 “Connection: keep-alive” #换行符 “reqid: ” requestId #换行符 “sec-ch-ua: ” #引号 “Not_A Brand” #引号 “;v=” + #引号 + “8” + #引号 + “, ” + #引号 + “Chromium” + #引号 “;v=” + #引号 + “120” + #引号 + “, ” #引号 “Google Chrome” #引号 “;v=” + #引号 + “120” + #引号 + “” + #换行符 + “uri: 60027” #换行符 “sec-ch-ua-mobile: ?0” #换行符 “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36” #换行符 “content-type: application/json;charset=UTF-8” #换行符 “context: WB-b5bbf465f0074002ad9fdb8732b08bd1-CAFDFB9704C0000157EE16E0B3809C50-” #换行符 “lcid: 2052” #换行符 “sec-ch-ua-platform: ” #引号 “Windows” + #引号 + “” #换行符 + “Accept: */*” #换行符 “Origin: https://udblgn.huya.com” #换行符 “Sec-Fetch-Site: same-origin” #换行符 “Sec-Fetch-Mode: cors” #换行符 “Sec-Fetch-Dest: empty” #换行符 “Referer: https://udblgn.huya.com/web/middle/2.6/59139808/https/b5bbf465f0074002ad9fdb8732b08bd1”
time1 = 时间_取现行时间戳 ()
behavior 编码_URL编码_JS (“{” + #引号 + “furl” + #引号 + “:” #引号 “https://i.huya.com/” #引号 “,” + #引号 + “curl” + #引号 + “:” #引号 “https://i.huya.com/” #引号 “,” #引号 + “user_action” #引号 “:[{” + #引号 + “id” + #引号 + “:” + #引号 + “12” + #引号 + “,” + #引号 + “x” + #引号 + “:568,” + #引号 + “y” + #引号 + “:52,” + #引号 + “d” + #引号 + “:1649,” + #引号 + “time” #引号 “:” time1 + “},{” + #引号 + “id” + #引号 + “:” + #引号 + “17” + #引号 + “,” + #引号 + “d” + #引号 + “:4403,” + #引号 + “time” #引号 “:” time1 + “},{” + #引号 + “id” + #引号 + “:” + #引号 + “17” + #引号 + “,” + #引号 + “d” + #引号 + “:7761,” + #引号 + “time” #引号 “:” time1 + “},{” + #引号 + “id” + #引号 + “:” + #引号 + “17” + #引号 + “,” + #引号 + “d” + #引号 + “:13314,” + #引号 + “time” #引号 “:” time1 + “},{” + #引号 + “id” + #引号 + “:” + #引号 + “17” + #引号 + “,” + #引号 + “d” + #引号 + “:16380,” + #引号 + “time” #引号 “:” time1 + “},{” + #引号 + “id” + #引号 + “:” + #引号 + “18” + #引号 + “,” + #引号 + “x” + #引号 + “:628,” + #引号 + “y” + #引号 + “:178,” + #引号 + “d” + #引号 + “:16507,” + #引号 + “time” #引号 “:” time1 “}]}”, 1)
body = “{” + #引号 + “uri” + #引号 + “:” + #引号 + “60027” + #引号 + “,” + #引号 + “version” + #引号 + “:” + #引号 + “2.6” + #引号 + “,” + #引号 + “context” + #引号 + “:” #引号 + 参_context + #引号 “,” #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “appSign” + #引号 + “:” #引号 “1ce3bf682483d03f146f58232ec10635” #引号 “,” #引号 + “authId” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sdid” + #引号 + “:” + #引号 + sdid + #引号 + “,” + #引号 + “lcid” + #引号 + “:” + #引号 + “2052” + #引号 + “,” + #引号 + “byPass” + #引号 + “:” + #引号 + “3” + #引号 + “,” + #引号 + “requestId” + #引号 “:” #引号 + requestId + #引号 “,” + #引号 + “data” + #引号 + “:{” + #引号 + “phone” + #引号 + “:” + #引号 + “086” + 参_号码 + #引号 + “,” + #引号 + “behavior” + #引号 “:” #引号 “%7B%22furl%22%3A%22https%3A%2F%2Fi.huya.com%2F%22%2C%22curl%22%3A%22https%3A%2F%2Fi.huya.com%2F%22%2C%22user_action%22%3A%5B%7B%22id%22%3A%2212%22%2C%22x%22%3A568%2C%22y%22%3A52%2C%22d%22%3A1649%2C%22time%22%3A1732868741434%7D%2C%7B%22id%22%3A%2217%22%2C%22d%22%3A4403%2C%22time%22%3A1732868744188%7D%2C%7B%22id%22%3A%2217%22%2C%22d%22%3A7761%2C%22time%22%3A1732868747546%7D%2C%7B%22id%22%3A%2217%22%2C%22d%22%3A13314%2C%22time%22%3A1732868753099%7D%2C%7B%22id%22%3A%2217%22%2C%22d%22%3A16380%2C%22time%22%3A1732868756165%7D%2C%7B%22id%22%3A%2218%22%2C%22x%22%3A628%2C%22y%22%3A178%2C%22d%22%3A16507%2C%22time%22%3A1732868756292%7D%5D%7D” #引号 “,” + #引号 + “page” + #引号 + “:” #引号 “https%3A%2F%2Fi.huya.com%2F” #引号 “}}”
' 调试输出 (body)
' 网页_访问_对象 (“https://udblgn.huya.com/web/v2/smsCode”, 1, body, , , heareds2)
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, “https://udblgn.huya.com/web/v2/smsCode”)
httpR.SetCookie (CK1)
httpR.SetRequestHeaders (heareds2)
httpR.Send (body)
str httpR.GetResponseTextU2A ()
调试输出 (“1111GetAllResponseCookies---”, httpR.GetAllResponseCookies ())
调试输出 (“发送短信1--”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
.如果真 (httpR.GetStatus () ≠ 200)
返回sessionData “发送短信失败”
返回 (假)
.如果真结束
yyjson.清空 ()
yyjson.解析 (str)
returnCode yyjson.取整数 (“returnCode”)
sessionData yyjson.取文本 (“data/sessionData”)
' 调试输出 (“returnCode*----”, returnCode)
.判断开始 (returnCode 0)
返回sdid sdid
返回sessionData sessionData
返回 (真)
.判断 (returnCode 10030)
dataurl yyjson.取文本 (“data/strategys/0/data”)
param 文本_取出中间文本 (dataurl, “param=”, “&”)
mobile 文本_取出中间文本 (dataurl, “mobile=”, “&”)
调试输出 (“dataurl===”, dataurl, param, mobile)
.如果真 (param “”)
返回sessionData “param失败”
返回 (假)
.如果真结束
.默认
返回sessionData str
返回 (假)
.判断结束
' 调试输出 (“mobile---”, mobile)
heareds3 “Host: udbrtt.huya.com” #换行符 “Connection: keep-alive” #换行符 “sec-ch-ua: ” #引号 “Not_A Brand” #引号 “;v=” + #引号 + “8” + #引号 + “, ” + #引号 + “Chromium” + #引号 “;v=” + #引号 + “120” + #引号 + “, ” #引号 “Google Chrome” #引号 “;v=” + #引号 + “120” + #引号 + “” + #换行符 “accept: application/json, text/plain, */*” #换行符 “content-type: application/json” #换行符 “sec-ch-ua-mobile: ?0” #换行符 “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36” #换行符 “sec-ch-ua-platform: ” #引号 “Windows” + #引号 + “” #换行符 “Origin: https://aq.huya.com” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: cors” #换行符 “Sec-Fetch-Dest: empty” #换行符 “Referer: https://aq.huya.com/”
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, “https://udbrtt.huya.com/auth/client/config3”)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds3)
httpR.Send (“{” #引号 “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “data” + #引号 + “:{” #引号 “urlParamMap” #引号 “:{” #引号 “hideShareButton” #引号 “:” + #引号 + “1” + #引号 + “,” + #引号 + “param” + #引号 + “:” + #引号 + param + #引号 + “,” #引号 + “sceneType” + #引号 + “:” + #引号 + “16” + #引号 + “,” + #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “mobile” + #引号 + “:” #引号 + mobile + #引号 “,” #引号 “allowRefresh” + #引号 “:” + #引号 + “0” + #引号 + “},” + #引号 + “wupData” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “page” + #引号 + “:” #引号 “https://aq.huya.com/p/udb_login.html?v=1732867200000” #引号 “,” #引号 + “behavior” + #引号 “:” #引号 + “%5B%5D” + #引号 + “,” + #引号 + “info” + #引号 + “:” + #引号 + sdid + #引号 + “,” #引号 + “cTuIndex” #引号 “:0}}”)
str httpR.GetResponseTextU2A ()
' 调试输出 (“config3--”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str)
gurl yyjson.取文本 (“data/gurl”)
key yyjson.取文本 (“data/key”)
vurl yyjson.取文本 (“data/vurl”)
js代码 yyjson.取文本 (“data/js”)
.如果真 (gurl “”)
返回sessionData “config3取参失败”
返回 (假)
.如果真结束
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, gurl)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds3)
httpR.Send (“{” #引号 “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “data” + #引号 + “:{” #引号 “urlParamMap” #引号 “:{” #引号 “hideShareButton” #引号 “:” + #引号 + “1” + #引号 + “,” + #引号 + “param” + #引号 + “:” + #引号 + param + #引号 + “,” #引号 + “sceneType” + #引号 + “:” + #引号 + “16” + #引号 + “,” + #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “mobile” + #引号 + “:” #引号 + mobile + #引号 “,” #引号 “allowRefresh” + #引号 “:” + #引号 + “0” + #引号 + “},” + #引号 + “wupData” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “page” + #引号 + “:” #引号 “https://aq.huya.com/p/udb_login.html?v=” 取文本左边 (时间_取现行时间戳 (), 8) + “00000” + #引号 “,” #引号 + “behavior” + #引号 “:” #引号 + “%5B%5D” + #引号 + “,” + #引号 + “info” + #引号 + “:” + #引号 + sdid + #引号 + “,” + #引号 + “ver” + #引号 + “:5}}”)
str httpR.GetResponseTextU2A ()
' 调试输出 (“gurl--00000-”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
.如果真 (寻找文本 (str, “服务器开小差”, , 假) ≠ -1)
返回sessionData “服务器开小差”
返回 (假)
.如果真结束
yyjson.清空 ()
yyjson.解析 (str)
dtuStr yyjson.取文本 (“data/dtuStr”)
puzzleStr yyjson.取文本 (“data/puzzleStr”)
segment yyjson.取文本 (“data/segment”)
huyapk yyjson.取文本 (“data/huyapk”)
code yyjson.取文本 (“data/code”)
' 调试输出 (“segment---”, segment)
.如果真 (segment “”)
返回sessionData “segment取参失败”
返回 (假)
.如果真结束
' 局_act 计算act (js代码, segment, huyapk)
yyjson.清空 ()
yyjson.置文本 (“huyapk”, huyapk)
yyjson.置文本 (“segment”, segment)
yyjson.置文本 (“hyjs”, js代码)
yyjson.置文本 (“dtuStr”, dtuStr)
yyjson.置文本 (“puzzleStr”, puzzleStr)
str 编码_Utf8到Ansi (网页_访问_对象 (“http://127.0.0.1:6221/get_authId”, 1, yyjson.到JSON (), , , “content-type: application/json”, ))
调试输出 (“get_authId---”, str)
yyjson.清空 ()
yyjson.解析 (str)
point yyjson.取文本 (“data”)
.如果真 (yyjson.取整数 (“code”) 500)
返回sessionData “authId滑块失败”
返回 (假)
.如果真结束
局_act “[” 计算act_data (js代码, 文本_替换 (#常量act_data, , , , “[point]”, point, “[code]”, code), huyapk) “]”
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, vurl)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds3)
httpR.Send (“{” #引号 “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “data” + #引号 + “:{” #引号 “urlParamMap” #引号 “:{” #引号 “hideShareButton” #引号 “:” + #引号 + “1” + #引号 + “,” + #引号 + “param” + #引号 + “:” + #引号 + param + #引号 + “,” #引号 + “sceneType” + #引号 + “:” + #引号 + “16” + #引号 + “,” + #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “mobile” + #引号 + “:” #引号 + mobile + #引号 “,” #引号 “allowRefresh” + #引号 “:” + #引号 + “0” + #引号 + “},” + #引号 + “wupData” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “page” + #引号 + “:” #引号 “page=https://aq.huya.com/p/udb_login.html?v=1732867200000” #引号 “,” #引号 + “behavior” + #引号 “:” #引号 “%5B%7B%22action%22%3A%22mousedown%22%2C%22id%22%3A%22%22%2C%22txt%22%3A%22%22%2C%22clientX%22%3A56%2C%22clientY%22%3A205%2C%22clientWidth%22%3A350%2C%22clientHeight%22%3A268%2C%22isTrusted%22%3Atrue%2C%22timeStamp%22%3A1000%2C%22nowTime%22%3A1731503011000%7D%2C%7B%22action%22%3A%22mousedown%22%2C%22id%22%3A%22%22%2C%22txt%22%3A%22%22%2C%22clientX%22%3A72%2C%22clientY%22%3A203%2C%22clientWidth%22%3A350%2C%22clientHeight%22%3A268%2C%22isTrusted%22%3Atrue%2C%22timeStamp%22%3A4000%2C%22nowTime%22%3A1731503014000%7D%5D” #引号 “,” + #引号 + “info” + #引号 + “:” + #引号 + sdid + #引号 + “,” + #引号 + “act” + #引号 + “:” + 局_act + “,” + #引号 + “ver” + #引号 + “:5}}”)
str httpR.GetResponseTextU2A ()
调试输出 (“str---”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
.如果真 (寻找文本 (str, “验证失败”, , 假) ≠ -1)
返回sessionData “滑块验证失败”
返回 (假)
.如果真结束
yyjson.清空 ()
yyjson.解析 (str)
authId yyjson.取文本 (“data/authId”)
.如果真 (authId “”)
.如果 (寻找文本 (str, “nextAuthUrl”, , 假) ≠ -1)
返回sessionData “出现文字点选”
nextAuthUrl yyjson.取文本 (“data/nextAuthUrl”)
' 调试输出 (“nextAuthUrl---”, nextAuthUrl)
param 文本_取出中间文本 (nextAuthUrl, “param=”, “&”)
' mobile 文本_取出中间文本 (nextAuthUrl, “mobile=”, “&”)
.如果真 (param “”)
返回sessionData “param失败”
返回 (假)
.如果真结束
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, “https://udbrtt.huya.com/auth/client/config3”)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds3)
httpR.Send (“{” #引号 “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “data” + #引号 + “:{” #引号 “urlParamMap” #引号 “:{” #引号 “hideShareButton” #引号 “:” + #引号 + “1” + #引号 + “,” + #引号 + “param” + #引号 + “:” + #引号 + param + #引号 + “,” #引号 + “sceneType” + #引号 + “:” + #引号 + “16” + #引号 + “,” + #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “mobile” + #引号 + “:” #引号 + mobile + #引号 “,” #引号 “allowRefresh” + #引号 “:” + #引号 + “0” + #引号 + “},” + #引号 + “wupData” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “page” + #引号 + “:” #引号 + dataurl + #引号 “,” #引号 + “behavior” + #引号 “:” #引号 + “%5B%5D” + #引号 + “,” + #引号 + “info” + #引号 + “:” + #引号 + sdid + #引号 + “,” #引号 + “cTuIndex” #引号 “:0}}”)
str httpR.GetResponseTextU2A ()
' 调试输出 (“config3--”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str)
gurl yyjson.取文本 (“data/gurl”)
key yyjson.取文本 (“data/key”)
vurl yyjson.取文本 (“data/vurl”)
js代码 yyjson.取文本 (“data/js”)
.如果真 (gurl “”)
返回sessionData “config3取参失败”
返回 (假)
.如果真结束
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, gurl)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds3)
httpR.Send (“{” #引号 “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “data” + #引号 + “:{” #引号 “urlParamMap” #引号 “:{” #引号 “hideShareButton” #引号 “:” + #引号 + “1” + #引号 + “,” + #引号 + “param” + #引号 + “:” + #引号 + param + #引号 + “,” #引号 + “sceneType” + #引号 + “:” + #引号 + “16” + #引号 + “,” + #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “mobile” + #引号 + “:” #引号 + mobile + #引号 “,” #引号 “allowRefresh” + #引号 “:” + #引号 + “0” + #引号 + “},” + #引号 + “wupData” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “page” + #引号 + “:” #引号 + dataurl + #引号 “,” #引号 + “behavior” + #引号 “:” #引号 + “%5B%5D” + #引号 + “,” + #引号 + “info” + #引号 + “:” + #引号 + sdid + #引号 + “,” + #引号 + “ver” + #引号 + “:5}}”)
str httpR.GetResponseTextU2A ()
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
.如果真 (寻找文本 (str, “服务器开小差”, , 假) ≠ -1)
返回sessionData “服务器开小差”
返回 (假)
.如果真结束
yyjson.清空 ()
yyjson.解析 (str)
dtuStr yyjson.取文本 (“data/dTuStr”)
hZiStr yyjson.取文本 (“data/hZiStr”)
huyapk yyjson.取文本 (“data/huyapk”)
code yyjson.取文本 (“data/code”)
.如果真 (code “”)
返回sessionData “code取参失败”
返回 (假)
.如果真结束
yyjson.清空 ()
yyjson.置文本 (“huyapk”, huyapk)
yyjson.置文本 (“hyjs”, js代码)
yyjson.置文本 (“dTuStr”, dtuStr)
yyjson.置文本 (“hZiStr”, hZiStr)
yyjson.置文本 (“code”, code)
yyjson.置文本 (“vurl”, vurl)
yyjson.置文本 (“nextAuthUrl”, nextAuthUrl)
str 编码_Utf8到Ansi (网页_访问_对象 (“http://127.0.0.1:6221/get_authId_dx”, 1, yyjson.到JSON (), , , “content-type: application/json”, , , , , , 30))
yyjson.清空 ()
yyjson.解析 (str)
返回act yyjson.取文本 (“data”)
' 调试输出 (“返回act---”, 返回act)
.如果真 (返回act = “”)
返回sessionData “authId点选失败”
返回 (假)
.如果真结束
' 提交汉字点选
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, vurl)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds3)
httpR.Send (“{” #引号 “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “data” + #引号 + “:{” #引号 “urlParamMap” #引号 “:{” #引号 “hideShareButton” #引号 “:” + #引号 + “1” + #引号 + “,” + #引号 + “param” + #引号 + “:” + #引号 + param + #引号 + “,” #引号 + “sceneType” + #引号 + “:” + #引号 + “0” + #引号 + “,” + #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “mobile” + #引号 + “:” #引号 + mobile + #引号 “,” #引号 “allowRefresh” + #引号 “:” + #引号 + “0” + #引号 + “},” + #引号 + “page” + #引号 + “:” #引号 + dataurl + #引号 “,” #引号 + “behavior” + #引号 “:” #引号 “%5B%7B%22action%22%3A%22mousedown%22%2C%22id%22%3A%22%22%2C%22txt%22%3A%22%22%2C%22clientX%22%3A286%2C%22clientY%22%3A111%2C%22clientWidth%22%3A350%2C%22clientHeight%22%3A268%2C%22isTrusted%22%3Atrue%2C%22timeStamp%22%3A14660%2C%22nowTime%22%3A1739773070122%7D%2C%7B%22action%22%3A%22mousedown%22%2C%22id%22%3A%22%22%2C%22txt%22%3A%221%22%2C%22clientX%22%3A214%2C%22clientY%22%3A140%2C%22clientWidth%22%3A350%2C%22clientHeight%22%3A268%2C%22isTrusted%22%3Atrue%2C%22timeStamp%22%3A15724%2C%22nowTime%22%3A1739773071186%7D%2C%7B%22action%22%3A%22mousedown%22%2C%22id%22%3A%22%22%2C%22txt%22%3A%221%5Cn2%22%2C%22clientX%22%3A147%2C%22clientY%22%3A163%2C%22clientWidth%22%3A350%2C%22clientHeight%22%3A268%2C%22isTrusted%22%3Atrue%2C%22timeStamp%22%3A16956%2C%22nowTime%22%3A1739773072418%7D%5D” #引号 “,” + #引号 + “info” + #引号 + “:” + #引号 + sdid + #引号 + “,” + #引号 + “wupData” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “act” + #引号 + “:” + 返回act + “,” + #引号 + “ver” + #引号 + “:5}}”)
str2 httpR.GetResponseTextU2A ()
' 调试输出 (“str2---”, str2)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str2)
.如果真 (yyjson.取文本 (“data/authId”) “”)
返回sessionData “提交滑块失败:” str2
返回 (假)
.如果真结束
.否则
返回sessionData “提交滑块失败:” + str
返回 (假)
.如果结束
.如果真结束
behavior “%5B%7B%22action%22%3A%22mousedown%22%2C%22id%22%3A%22%22%2C%22txt%22%3A%22%22%2C%22clientX%22%3A212%2C%22clientY%22%3A122%2C%22clientWidth%22%3A350%2C%22clientHeight%22%3A268%2C%22isTrusted%22%3Atrue%2C%22timeStamp%22%3A5150%2C%22nowTime%22%3A1734936183084%7D%2C%7B%22action%22%3A%22mousedown%22%2C%22id%22%3A%22%22%2C%22txt%22%3A%221%22%2C%22clientX%22%3A115%2C%22clientY%22%3A103%2C%22clientWidth%22%3A350%2C%22clientHeight%22%3A268%2C%22isTrusted%22%3Atrue%2C%22timeStamp%22%3A6358%2C%22nowTime%22%3A1734936184292%7D%2C%7B%22action%22%3A%22mousedown%22%2C%22id%22%3A%22%22%2C%22txt%22%3A%221%5Cn2%22%2C%22clientX%22%3A64%2C%22clientY%22%3A118%2C%22clientWidth%22%3A350%2C%22clientHeight%22%3A268%2C%22isTrusted%22%3Atrue%2C%22timeStamp%22%3A6921%2C%22nowTime%22%3A1734936184855%7D%5D”
' time1 时间_取现行时间戳 ()
' behavior 编码_URL编码_JS (“{” + #引号 + “furl” + #引号 + “:” #引号 “https://i.huya.com/” #引号 “,” + #引号 + “curl” + #引号 + “:” #引号 “https://i.huya.com/” #引号 “,” #引号 + “user_action” #引号 “:[{” + #引号 + “id” + #引号 + “:” + #引号 + “12” + #引号 + “,” + #引号 + “x” + #引号 + “:568,” + #引号 + “y” + #引号 + “:52,” + #引号 + “d” + #引号 + “:1649,” + #引号 + “time” #引号 “:” time1 + “},{” + #引号 + “id” + #引号 + “:” + #引号 + “17” + #引号 + “,” + #引号 + “d” + #引号 + “:4403,” + #引号 + “time” #引号 “:” time1 + “},{” + #引号 + “id” + #引号 + “:” + #引号 + “17” + #引号 + “,” + #引号 + “d” + #引号 + “:7761,” + #引号 + “time” #引号 “:” time1 + “},{” + #引号 + “id” + #引号 + “:” + #引号 + “17” + #引号 + “,” + #引号 + “d” + #引号 + “:13314,” + #引号 + “time” #引号 “:” time1 + “},{” + #引号 + “id” + #引号 + “:” + #引号 + “17” + #引号 + “,” + #引号 + “d” + #引号 + “:16380,” + #引号 + “time” #引号 “:” time1 + “},{” + #引号 + “id” + #引号 + “:” + #引号 + “18” + #引号 + “,” + #引号 + “x” + #引号 + “:628,” + #引号 + “y” + #引号 + “:178,” + #引号 + “d” + #引号 + “:16507,” + #引号 + “time” #引号 “:” time1 “}]}”, 1)
body = “{” + #引号 + “uri” + #引号 + “:” + #引号 + “60027” + #引号 + “,” + #引号 + “version” + #引号 + “:” + #引号 + “2.6” + #引号 + “,” + #引号 + “context” + #引号 + “:” #引号 + 参_context + #引号 “,” #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “appSign” + #引号 + “:” #引号 “1ce3bf682483d03f146f58232ec10635” #引号 “,” #引号 + “authId” + #引号 + “:” + #引号 + #引号 + “,” + #引号 + “sdid” + #引号 + “:” + #引号 + sdid + #引号 + “,” + #引号 + “lcid” + #引号 + “:” + #引号 + “2052” + #引号 + “,” + #引号 + “byPass” + #引号 + “:” + #引号 + “3” + #引号 + “,” + #引号 + “requestId” + #引号 “:” #引号 + requestId + #引号 “,” + #引号 + “data” + #引号 + “:{” + #引号 + “phone” + #引号 + “:” + #引号 + “086” + 参_号码 + #引号 + “,” + #引号 + “behavior” + #引号 “:” #引号 + behavior + #引号 + “,” + #引号 + “page” + #引号 + “:” #引号 “https%3A%2F%2Fi.huya.com%2F” #引号 “}}”
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, “https://udblgn.huya.com/web/v2/smsCode”)
httpR.SetCookie (CK1)
httpR.SetRequestHeaders (heareds2)
httpR.Send (body)
str httpR.GetResponseTextU2A ()
调试输出 (“发送短信222---”, 参_号码, str)
' 调试输出 (“GetAllResponseCookies---”, httpR.GetAllResponseCookies ())
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str)
.如果真 (yyjson.取文本 (“returnCode”) “0”)
返回sdid sdid
返回sessionData yyjson.取文本 (“data/sessionData”)
返回 (真)
.如果真结束
返回sessionData “发送短信失败:” + str
返回 (假)
.子程序 hy提交_短信登录, 逻辑型
.参数 参_号码, 文本型
.参数 参_短信, 文本型
.参数 参_context, 文本型
.参数 参_sdid, 文本型
.参数 参_sessionData, 文本型
.参数 返回Cookie, 文本型, 参考
.局部变量 局_IP, 文本型
.局部变量 httpR, WinHttpR
.局部变量 heareds, 文本型
.局部变量 yyjson, json对象
.局部变量 str, 文本型
.局部变量 body, 文本型
.局部变量 behavior, 文本型
.局部变量 reqid, 文本型
.局部变量 returnCode, 文本型
.局部变量 dataurl, 文本型
.局部变量 sessionData, 文本型
reqid 生成guid (“1”)
heareds “Host: udblgn.huya.com” #换行符 “Connection: keep-alive” #换行符 “reqid: ” reqid #换行符 “sec-ch-ua: ” #引号 “Not_A Brand” #引号 “;v=” + #引号 + “8” + #引号 + “, ” + #引号 + “Chromium” + #引号 “;v=” + #引号 + “120” + #引号 + “, ” #引号 “Google Chrome” #引号 “;v=” + #引号 + “120” + #引号 + “” + #换行符 + “uri: 60025” #换行符 “sec-ch-ua-mobile: ?0” #换行符 “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36” #换行符 “content-type: application/json;charset=UTF-8” #换行符 “context: ” 参_context #换行符 “lcid: 2052” #换行符 “sec-ch-ua-platform: ” #引号 “Windows” + #引号 + “” #换行符 + “Accept: */*” #换行符 “Origin: https://udblgn.huya.com” #换行符 “Sec-Fetch-Site: same-origin” #换行符 “Sec-Fetch-Mode: cors” #换行符 “Sec-Fetch-Dest: empty” #换行符 “Referer: https://udblgn.huya.com/web/middle/2.6/59139808/https/b5bbf465f0074002ad9fdb8732b08bd1”
behavior “%5B%7B%22action%22%3A%22mousedown%22%2C%22id%22%3A%22%22%2C%22txt%22%3A%22%22%2C%22clientX%22%3A212%2C%22clientY%22%3A122%2C%22clientWidth%22%3A350%2C%22clientHeight%22%3A268%2C%22isTrusted%22%3Atrue%2C%22timeStamp%22%3A5150%2C%22nowTime%22%3A1734936183084%7D%2C%7B%22action%22%3A%22mousedown%22%2C%22id%22%3A%22%22%2C%22txt%22%3A%221%22%2C%22clientX%22%3A115%2C%22clientY%22%3A103%2C%22clientWidth%22%3A350%2C%22clientHeight%22%3A268%2C%22isTrusted%22%3Atrue%2C%22timeStamp%22%3A6358%2C%22nowTime%22%3A1734936184292%7D%2C%7B%22action%22%3A%22mousedown%22%2C%22id%22%3A%22%22%2C%22txt%22%3A%221%5Cn2%22%2C%22clientX%22%3A64%2C%22clientY%22%3A118%2C%22clientWidth%22%3A350%2C%22clientHeight%22%3A268%2C%22isTrusted%22%3Atrue%2C%22timeStamp%22%3A6921%2C%22nowTime%22%3A1734936184855%7D%5D”
body = “{” + #引号 + “uri” + #引号 + “:” + #引号 + “60025” + #引号 + “,” + #引号 + “version” + #引号 + “:” + #引号 + “2.6” + #引号 + “,” + #引号 + “context” + #引号 + “:” #引号 + 参_context + #引号 “,” #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “appSign” + #引号 + “:” #引号 “1ce3bf682483d03f146f58232ec10635” #引号 “,” #引号 + “authId” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sdid” + #引号 + “:” + #引号 + 参_sdid + #引号 + “,” + #引号 + “lcid” + #引号 + “:” + #引号 + “2052” + #引号 + “,” + #引号 + “byPass” + #引号 + “:” + #引号 + “3” + #引号 + “,” + #引号 + “requestId” + #引号 “:” #引号 + reqid + #引号 + “,” + #引号 + “data” + #引号 + “:{” + #引号 + “phone” + #引号 + “:” + #引号 + “086” + 参_号码 + #引号 + “,” + #引号 + “authId” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “authcode” + #引号 + “:” + #引号 + 参_短信 + #引号 + “,” + #引号 + “sessionData” + #引号 “:” #引号 参_sessionData #引号 “,” #引号 + “domainList” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “remember” + #引号 + “:” + #引号 + “1” + #引号 + “,” + #引号 + “behavior” + #引号 “:” #引号 + behavior + #引号 + “,” + #引号 + “page” + #引号 + “:” #引号 “https%3A%2F%2Fwww.huya.com%2F” #引号 “}}”
调试输出 (“body==================================”, body)
局_IP GetIP ()
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, “https://udblgn.huya.com/web/v2/smsLogin”)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds)
httpR.Send (body)
str httpR.GetResponseTextU2A ()
' str 编码_Utf8到Ansi (网页_访问_对象 (“https://udblgn.huya.com/web/v2/smsLogin”, 1, body, , , heareds, , , 真, , 局_IP))
调试输出 (“提交短信”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str)
returnCode yyjson.取文本 (“returnCode”)
.如果真 (returnCode “0”)
返回Cookie httpR.GetAllResponseCookies ()
返回 (真)
.如果真结束
.如果真 (returnCode “10030”)
dataurl yyjson.取文本 (“data/strategys/0/data”)
.如果真 (点选提交 (dataurl, 参_sdid, 返回Cookie) 假)
返回Cookie = “点选失败”
返回 (假)
.如果真结束
程序_延时 (1000)
局_IP GetIP ()
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, “https://udblgn.huya.com/web/v2/smsLogin”)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds)
httpR.Send (body)
str httpR.GetResponseTextU2A ()
调试输出 (“提交短信222”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str)
returnCode yyjson.取文本 (“returnCode”)
.如果真 (returnCode “0”)
返回Cookie httpR.GetAllResponseCookies ()
返回 (真)
.如果真结束
.如果真结束
返回Cookie = “注册失败:” + str
返回 (假)
.子程序 点选提交, 逻辑型
.参数 参_url, 文本型
.参数 参_sdid, 文本型
.参数 返回err0, 文本型, 参考
.局部变量 param, 文本型
.局部变量 httpR, WinHttpR
.局部变量 局_IP, 文本型
.局部变量 heareds, 文本型
.局部变量 mobile, 文本型
.局部变量 str, 文本型
.局部变量 yyjson, json对象
.局部变量 gurl, 文本型
.局部变量 key, 文本型
.局部变量 vurl, 文本型
.局部变量 js代码, 文本型
.局部变量 dtuStr, 文本型
.局部变量 hZiStr, 文本型
.局部变量 huyapk, 文本型
.局部变量 code, 文本型
.局部变量 返回act, 文本型
.局部变量 str2, 文本型
heareds “Host: udbrtt.huya.com” #换行符 “Connection: keep-alive” #换行符 “sec-ch-ua: ” #引号 “Not_A Brand” #引号 “;v=” + #引号 + “8” + #引号 + “, ” + #引号 + “Chromium” + #引号 “;v=” + #引号 + “120” + #引号 + “, ” #引号 “Google Chrome” #引号 “;v=” + #引号 + “120” + #引号 + “” + #换行符 “accept: application/json, text/plain, */*” #换行符 “content-type: application/json” #换行符 “sec-ch-ua-mobile: ?0” #换行符 “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36” #换行符 “sec-ch-ua-platform: ” #引号 “Windows” + #引号 + “” #换行符 “Origin: https://aq.huya.com” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: cors” #换行符 “Sec-Fetch-Dest: empty” #换行符 “Referer: https://aq.huya.com/”
param 文本_取出中间文本 (参_url, “param=”, “&”)
mobile 文本_取出中间文本 (参_url, “mobile=”, “&”)
.如果真 (param “”)
返回err0 “取param失败”
返回 (假)
.如果真结束
局_IP GetIP ()
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, “https://udbrtt.huya.com/auth/client/config3”)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds)
httpR.Send (“{” #引号 “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “data” + #引号 + “:{” #引号 “urlParamMap” #引号 “:{” #引号 “hideShareButton” #引号 “:” + #引号 + “1” + #引号 + “,” + #引号 + “param” + #引号 + “:” + #引号 + param + #引号 + “,” #引号 + “sceneType” + #引号 + “:” + #引号 + “20” + #引号 + “,” + #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “mobile” + #引号 + “:” #引号 + mobile + #引号 “,” #引号 “allowRefresh” + #引号 “:” + #引号 + “0” + #引号 + “},” + #引号 + “page” + #引号 + “:” + #引号 + 参_url + #引号 + “,” + #引号 + “behavior” + #引号 “:” #引号 + “%5B%5D” + #引号 + “,” + #引号 + “info” + #引号 + “:” #引号 “0UnHUgv0_qmfD4KAKlwzhqXulp4jLyvH0eB65-yW4VUvcvTEg65KxqTd0R4n042jT6HwkclZgBLxOXXiciYxj9ybzpsjNuFcvQLLfzSPLjw7WVkn9LtfFJw_Qo4kgKr8OZHDqNnuwg612sGyflFn1dlAMlnZhIeR7EriL7VyM-8evFAoMNIxINRCkVMhyGszI” #引号 “,” #引号 + “wupData” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “cTuIndex” #引号 “:0}}”)
str httpR.GetResponseTextU2A ()
调试输出 (“config3--”, str)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str)
gurl yyjson.取文本 (“data/gurl”)
key yyjson.取文本 (“data/key”)
vurl yyjson.取文本 (“data/vurl”)
js代码 yyjson.取文本 (“data/js”)
.如果真 (gurl “”)
返回err0 “config3取参失败”
返回 (假)
.如果真结束
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, gurl)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds)
httpR.Send (“{” #引号 “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “data” + #引号 + “:{” #引号 “urlParamMap” #引号 “:{” #引号 “hideShareButton” #引号 “:” + #引号 + “1” + #引号 + “,” + #引号 + “param” + #引号 + “:” + #引号 + param + #引号 + “,” #引号 + “sceneType” + #引号 + “:” + #引号 + “20” + #引号 + “,” + #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “mobile” + #引号 + “:” #引号 + mobile + #引号 “,” #引号 “allowRefresh” + #引号 “:” + #引号 + “0” + #引号 + “},” + #引号 + “page” + #引号 + “:” + #引号 + 参_url + #引号 + “,” + #引号 + “behavior” + #引号 “:” #引号 + “%5B%5D” + #引号 + “,” + #引号 + “info” + #引号 + “:” #引号 “0UnHUgv0_qmfD4KAKlwzhqXulp4jLyvH0eB65-yW4VUvcvTEg65KxqTd0R4n042jT6HwkclZgBLxOXXiciYxj9ybzpsjNuFcvQLLfzSPLjw7WVkn9LtfFJw_Qo4kgKr8OZHDqNnuwg612sGyflFn1dlAMlnZhIeR7EriL7VyM-8evFAoMNIxINRCkVMhyGszI” #引号 “,” #引号 + “wupData” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “cTuIndex” + #引号 “:0,” + #引号 + “ver” + #引号 + “:5}}”)
str httpR.GetResponseTextU2A ()
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
.如果真 (寻找文本 (str, “服务器开小差”, , 假) ≠ -1)
返回err0 = “服务器开小差”
返回 (假)
.如果真结束
yyjson.清空 ()
yyjson.解析 (str)
dtuStr yyjson.取文本 (“data/dTuStr”)
hZiStr yyjson.取文本 (“data/hZiStr”)
huyapk yyjson.取文本 (“data/huyapk”)
code yyjson.取文本 (“data/code”)
.如果真 (code “”)
返回err0 = “code取参失败”
返回 (假)
.如果真结束
yyjson.清空 ()
yyjson.置文本 (“huyapk”, huyapk)
yyjson.置文本 (“hyjs”, js代码)
yyjson.置文本 (“dTuStr”, dtuStr)
yyjson.置文本 (“hZiStr”, hZiStr)
yyjson.置文本 (“code”, code)
yyjson.置文本 (“vurl”, vurl)
yyjson.置文本 (“nextAuthUrl”, 参_url)
str 编码_Utf8到Ansi (网页_访问_对象 (“http://127.0.0.1:6221/get_authId_dx”, 1, yyjson.到JSON (), , , “content-type: application/json”, , , , , , 30))
yyjson.清空 ()
yyjson.解析 (str)
返回act yyjson.取文本 (“data”)
调试输出 (“返回act---”, 返回act)
.如果真 (返回act “”)
返回err0 “authId点选失败”
返回 (假)
.如果真结束
' 提交汉字点选
.计次循环首 (5, )
httpR.SetProxy (局_IP)
httpR.Open (“POST”, vurl)
httpR.SetCookie ()
httpR.SetRequestHeaders (heareds)
httpR.Send (“{” #引号 “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “data” + #引号 + “:{” #引号 “urlParamMap” #引号 “:{” #引号 “hideShareButton” #引号 “:” + #引号 + “1” + #引号 + “,” + #引号 + “param” + #引号 + “:” + #引号 + param + #引号 + “,” #引号 + “sceneType” + #引号 + “:” + #引号 + “20” + #引号 + “,” + #引号 + “appId” + #引号 + “:” + #引号 + “5002” + #引号 + “,” + #引号 + “mobile” + #引号 + “:” #引号 + mobile + #引号 “,” #引号 “allowRefresh” + #引号 “:” + #引号 + “0” + #引号 + “},” + #引号 + “page” + #引号 + “:” + #引号 + 参_url + #引号 + “,” + #引号 + “behavior” + #引号 “:” #引号 “%5B%7B%22action%22%3A%22mousedown%22%2C%22id%22%3A%22%22%2C%22txt%22%3A%22%22%2C%22clientX%22%3A287%2C%22clientY%22%3A632%2C%22clientWidth%22%3A1483%2C%22clientHeight%22%3A1015%2C%22isTrusted%22%3Atrue%2C%22timeStamp%22%3A7876%2C%22nowTime%22%3A1739787037016%7D%2C%7B%22action%22%3A%22mousedown%22%2C%22id%22%3A%22%22%2C%22txt%22%3A%221%22%2C%22clientX%22%3A884%2C%22clientY%22%3A469%2C%22clientWidth%22%3A1483%2C%22clientHeight%22%3A1015%2C%22isTrusted%22%3Atrue%2C%22timeStamp%22%3A8996%2C%22nowTime%22%3A1739787038136%7D%2C%7B%22action%22%3A%22mousedown%22%2C%22id%22%3A%22%22%2C%22txt%22%3A%221%5Cn2%22%2C%22clientX%22%3A641%2C%22clientY%22%3A596%2C%22clientWidth%22%3A1483%2C%22clientHeight%22%3A1015%2C%22isTrusted%22%3Atrue%2C%22timeStamp%22%3A10228%2C%22nowTime%22%3A1739787039368%7D%5D” #引号 “,” + #引号 + “info” + #引号 + “:” #引号 “0UnHUgv0_qmfD4KAKlwzhqXulp4jLyvH0eB65-yW4VUvcvTEg65KxqTd0R4n042jT6HwkclZgBLxOXXiciYxj9ybzpsjNuFcvQLLfzSPLjw7WVkn9LtfFJw_Qo4kgKr8OZHDqNnuwg612sGyflFn1dlAMlnZhIeR7EriL7VyM-8evFAoMNIxINRCkVMhyGszI” #引号 “,” #引号 + “wupData” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “act” + #引号 + “:” + 返回act + “,” + #引号 + “ver” + #引号 + “:5}}”)
str2 httpR.GetResponseTextU2A ()
调试输出 (“str2---”, str2)
.如果 (httpR.GetStatus () 200)
跳出循环 ()
.否则
局_IP GetIP ()
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str2)
.如果真 (yyjson.取文本 (“data/authId”) ≠ “”)
返回 (真)
.如果真结束
返回err0 = “点选失败:” + str2
返回 (假)