Files
live-hub-py/e语言/huya/皮肤与充值/窗口 1.txt
T
2026-07-04 14:57:30 +08:00

2912 lines
106 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
.支持库 edroptarget
.支持库 iext
.支持库 EThread
.支持库 spec
.程序集 窗口程序集_窗口1
.程序集变量 集句柄, 整数型
.程序集变量 工作中, 逻辑型
.程序集变量 精英线程, 线程池类
.程序集变量 ww, 未闻花名花见皮肤
.子程序 _窗口1_创建完毕
.局部变量 buff, 字节集
ww.皮肤加载 (2)
网络版授权验证 (假, “f28ba622a3ef3abf0a419f5cd6b548396dbcd7bd0d25fc815b6256be1db23421d3a329637cdb54f61e492184d1602670dff739ec7bd2847d67b98f0bff373646”)
.如果真 (信息框 (“此程序仅用于学习、技术交流,请勿用于非法!如出现任何问题后果自负!” + #换行符 + “ ”, #确认取消钮, “免责声明!!!”, ) = #取消钮)
结束 ()
.如果真结束
文件_写出_资源 (#RSCProjectDLL, 取运行目录 () “\RSCProject.dll”, , , 真)
??? () ' <!!!>
全目录临时 = 取运行目录 () + “\hy_wss\临时”
全目录状态 = 取运行目录 () + “\hy_wss\状态”
全PIC 取运行目录 () + “\hy_wss\生成订单图片”
.如果真 (文件是否存在 (全目录临时) = 假)
目录_创建 (全目录临时)
.如果真结束
.如果真 (文件是否存在 (全目录状态) = 假)
目录_创建 (全目录状态)
.如果真结束
.如果真 (文件是否存在 (全PIC) = 假)
目录_创建 (全PIC)
.如果真结束
数据写入列表 ()
Gdip开始 ()
wss_全局初始化 (, , , , , , , , , )
初始化哈希N ()
拖放对象1.注册拖放控件 (超级列表框1.取窗口句柄 ())
状态条1.置文本 (0, “指定直播间商品pid的方法:进入直播间->点击小黄车->立即参与->自动跳转商品页面,网址上找到【pid=后面的数字串】例如:pid=1199637078930,复制:1199637078930”)
组合框_wss.现行选中项 0
全wss_url 选择 (组合框_wss.现行选中项 0, #常量wssurl, #常量wssurl2)
配置_读取_易语言组件 (窗口1)
.子程序 _超级列表框1_右键单击表项
弹出菜单 (菜单, , )
.子程序 _拖放对象1_得到文件
.参数 接收到的文件路径, 文本型
.局部变量 i, 文本型
.局部变量 第一次分割, 文本型, , "0"
.局部变量 第二次分割, 文本型, , "3"
.局部变量 N, 整数型
.局部变量 索引, 整数型
.局部变量 计次1, 整数型
.局部变量 计次2, 整数型
.局部变量 临时数组, 文本型, , "0"
.局部变量 文本数组, 文本型, , "0"
i = 到文本 (读入文件 (接收到的文件路径))
文本数组 = 分割文本 (i, #换行符, )
.计次循环首 (取数组成员数 (文本数组), 计次1)
系统_处理事件 ()
索引 = 超级列表框1.插入表项 (, , , , , )
超级列表框1.置标题 (索引, 0, 到文本 (索引 + 1))
超级列表框1.置标题 (索引, 1, 文本数组 [计次1])
超级列表框1.置状态图片 (索引, 1)
系统_处理事件 ()
.计次循环尾 ()
超级列表框1.允许重画 () ' 恢复自动重画
超级列表框1.发送信息 (277, 7, 0) ' 显示最后一行
清除数组 (文本数组)
.子程序 _删除当前_被选择
.局部变量 i, 整数型
.局部变量 局_保存文本, 鱼刺类_输出文本
.局部变量 局_保存目录, 文本型
超级列表框1.删除表项 (超级列表框1.现行选中项)
.计次循环首 (超级列表框1.取表项数 (), i)
系统_处理事件 ()
超级列表框1.置标题 (i 1, 0, 到文本 (i))
.计次循环尾 ()
.计次循环首 (超级列表框1.取表项数 (), i)
系统_处理事件 ()
超级列表框1.置状态图片 (i - 1, 1)
超级列表框1.置标题 (i 1, 0, 到文本 (i))
.计次循环尾 ()
.子程序 _删除勾选_被选择
.局部变量 表项数, 整数型
.局部变量 m, 整数型
.局部变量 i, 整数型
.局部变量 局_保存目录, 文本型
.局部变量 局_保存文本, 鱼刺类_输出文本
表项数 = 超级列表框1.取表项数 ()
.计次循环首 (表项数, m)
系统_处理事件 ()
.如果真 (超级列表框1.取当前状态图片 (表项数 - m) = 1)
超级列表框1.删除表项 (表项数 - m)
.如果真结束
.计次循环尾 ()
.计次循环首 (超级列表框1.取表项数 (), i)
系统_处理事件 ()
超级列表框1.置状态图片 (i - 1, 1)
超级列表框1.置标题 (i 1, 0, 到文本 (i))
.计次循环尾 ()
.子程序 _清空CK_被选择
.局部变量 局_保存目录, 文本型
超级列表框1.全部删除 ()
局_保存目录 = 取运行目录 () + “\斗鱼CK\” + 时间_格式化 (取现行时间 (), “MM.dd-”) “斗鱼CK.txt”
删除文件 (局_保存目录)
.子程序 GetIP, 逻辑型
.参数 返回ip, 文本型, 参考
.参数 返回端口, 整数型, 参考
.局部变量 str, 文本型
.局部变量 bool, 逻辑型
.局部变量 F_, 文本型, , "0"
.如果真 (选择框_D理.选中 = 假)
返回 (假)
.如果真结束
.循环判断首 ()
str 编码_Utf8到Ansi (网页_访问_对象 (删首尾空 (编辑框_代理地址.内容)))
状态条1.置文本 (0, “正在获取代理:” + str)
bool 是否IP格式 (str)
程序_延时 (300)
.循环判断尾 (取反 (bool))
F_ 分割文本 (str, “:”, )
.如果真 (取数组成员数 (F_) = 2)
返回ip F_ [1]
返回端口 = 到整数 (F_ [2])
返回 (真)
.如果真结束
返回 (假)
.子程序 是否IP格式, 逻辑型
.参数 IP, 文本型
.局部变量 正则, 正则表达式类
正则.创建 (“([1-9]\d{0,2}\.\d{1,3}\.\d{1,3}\.\d{1,3}):([1-9]\d{1,4})”, IP, , , , )
返回 (正则.取匹配数量 () > 0)
.子程序 _获取绑定二维码_被选择
启动线程 (&取二维码, , )
.子程序 取二维码
.局部变量 yyjson, json对象
.局部变量 局_Cookie, 文本型
.局部变量 yyuid, 文本型
.局部变量 返回nick, 文本型
.局部变量 str, 文本型
.局部变量 返回time, 文本型
.局部变量 返回sig, 文本型
.局部变量 返回code, 文本型
.局部变量 qrcodeToken, 文本型
.局部变量 qrcode, 文本型
.局部变量 局_连接ID, 整数型
.局部变量 err0, 文本型
.局部变量 basestr, 文本型
.局部变量 返回数据指针, 整数型
.局部变量 返回utf8文本, 文本型
.局部变量 返回jsonstr, 文本型
.局部变量 返回name, 文本型
.局部变量 JSON, 类_json
.局部变量 返回buff, 字节集
.局部变量 buff, 字节集
.局部变量 JCE, 类_JCE解包
.局部变量 返回IP, 文本型
.局部变量 返回端口, 整数型
.局部变量 i, 整数型
.局部变量 D理类型, 整数型
.局部变量 body, 文本型
.局部变量 actId, 文本型
局_Cookie = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
.如果真 (取文本长度 (yyuid) ≠ 13)
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
.如果真结束
.如果真 (hy获取昵称 (yyuid, 局_Cookie, 返回nick) 假)
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回nick)
返回 ()
.如果真结束
.计次循环首 (10, i)
.如果 (选择框_D理.选中 = 真)
D理类型 2
GetIP (返回IP, 返回端口)
.否则
D理类型 0
.如果结束
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
局_连接ID wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
.如果 (局_连接ID 0)
跳出循环 ()
.否则
窗口_置状态信息 (超级列表框1.现行选中项, 1, “代理失败,正在重连...”)
.如果结束
系统_处理事件 ()
.计次循环尾 ()
.如果真 (局_连接ID 0)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss连接失败”)
返回 ()
.如果真结束
basestr 生成绑定二维码参数 (yyuid, 局_Cookie)
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) 假)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss发送失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) 假)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “buff解析失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
' 调试输出 (“1---”, decodeBuff (返回buff))
buff decodeBuff2 (返回buff)
JCE.set (buff)
返回code UTF8到文本 (JCE.get (“0.2.1(1)”))
返回sig UTF8到文本 (JCE.get (“0.2.1(4)”))
返回time UTF8到文本 (JCE.get (“0.2.1(5)”))
.如果真 (返回code = “” 或 返回sig = “” 或 返回time = “”)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “取code失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
' actId=14311
actId “17096”
body “{” #引号 “queryString” + #引号 “:” + #引号 + “t=” 返回time “&gameIdList=cjm&actId=” actId “&livePlatId=huya&sig=” 返回sig “&code=” 返回code “&faceUrl=https%3A%2F%2Fdiy-assets.msstatic.com%2Fcqhfolder%2FNewDefault.png&nickName=” 编码_URL编码_JS (返回nick, 1) “&redirectUrl=https%3A%2F%2Fzt.huya.com%2Fb02faae1%2Fpc%2Findex.html%3FsourceId%3Dyellowcarlist%26pid%3D” 全直播间id “%26anchorUid%3D” 全直播间id “%26roomid%3D30596253&sessionId=” 返回time “_” + 文本_取随机字符 (7, 位或 (1, 2)) + #引号 “}”
str = 到文本 (网页_访问_对象 (“https://livelinkbind.game.qq.com/api/qrcode/getMiniAppQrcode”, 1, body, , , “Host: livelinkbind.game.qq.com” #换行符 “Connection: keep-alive” #换行符 “Gap-Act-Id: 14311” #换行符 “sec-ch-ua-platform: ” #引号 “Windows” + #引号 + “” #换行符 + “sec-ch-ua: ” #引号 “Not(A:Brand” #引号 “;v=” + #引号 + “99” + #引号 + “, ” #引号 “Google Chrome” #引号 “;v=” + #引号 + “133” + #引号 + “, ” + #引号 + “Chromium” + #引号 “;v=” + #引号 + “133” + #引号 + “” + #换行符 “Gap-User-From: pc” #换行符 “Gap-Plat-Id: huya” #换行符 “sec-ch-ua-mobile: ?0” #换行符 “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36” #换行符 “Accept: application/json, text/plain, */*” #换行符 “Content-Type: application/json” #换行符 “Gap-From-Id: ” #换行符 “Vulcan-AccType: auth_in_h5” #换行符 “Origin: https://livelink.qq.com” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: cors” #换行符 “Sec-Fetch-Dest: empty” #换行符 “Referer: https://livelink.qq.com/”, , , 真))
yyjson.清空 ()
yyjson.解析 (str)
qrcodeToken yyjson.取文本 (“jData/qrcodeToken”)
qrcode yyjson.取文本 (“jData/qrcode”)
BASE64编解码_ASM_初始化 ()
图片框1.图片 BASE64解码_ASM (qrcode)
标签反馈.标题 = “游戏用户绑定小程序二维码”
basestr 生成查询游戏名 (yyuid, 局_Cookie, #常量outerActId) ' '#常量outerActId
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) 假)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss发送消息失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) 假)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “buff解析失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
' 调试输出 (“decodeBuff (返回buff)---”, decodeBuff (返回buff))
buff decodeBuff2 (返回buff)
JCE.set (buff)
返回name UTF8到文本 (JCE.get (“0.2.4.1”))
超级列表框1.置标题 (超级列表框1.现行选中项, 3, 选择 (返回name ≠ “”, 返回name, “NULL”))
wss_断开某个连接 (局_连接ID, 真)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “操作完成”)
' hy检测账号 (qrcodeToken)
.子程序 hy获取昵称, 逻辑型
.参数 参_uid, 文本型
.参数 参_Cookie, 文本型
.参数 返回nickname, 文本型, 参考
.局部变量 str, 文本型
.局部变量 yyjson, json对象
.局部变量 CALLBACK, 文本型
.局部变量 nick, 文本型
str 编码_Utf8到Ansi (网页_访问_对象 (“https://live.huya.com/task/taskTotal?uid=” 参_uid “&callback=TT_HD_USER_CARD_JSONP_CALLBACK”, , , 参_Cookie, , “Host: live.huya.com” #换行符 “Connection: keep-alive” #换行符 “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” + #引号 + “” #换行符 + “Accept: */*” #换行符 “Referer: https://www.huya.com/”, , , 真))
' 调试输出 (取程序名称 (1), str)
CALLBACK 文本_取出中间文本 (str, “TT_HD_USER_CARD_JSONP_CALLBACK(”, “)”)
.如果真 (CALLBACK “”)
返回 (假)
.如果真结束
yyjson.清空 ()
yyjson.解析 (CALLBACK)
nick yyjson.取文本 (“data/level/nick”)
.如果真 (nick ≠ “”)
返回nickname nick
返回 (真)
.如果真结束
返回nickname str
返回 (假)
.子程序 hy检测账号, , , 通过兑换检测账号
.参数 参_qrcodeToken, 文本型
.局部变量 str, 文本型
.局部变量 isScan, 逻辑型
.局部变量 yyjson, json对象
.局部变量 isCompleted, 逻辑型
窗口_置状态信息 (超级列表框1.现行选中项, 2, “检测账号...”)
状态条1.置文本 (0, “正在检测账号... ”)
.计次循环首 (100, )
str 编码_Utf8到Ansi (网页_访问_对象 (“https://livelinkbind.game.qq.com/api/qrcode/poolingQrcodeStatus”, 1, “{” #引号 “qrcodeToken” + #引号 “:” #引号 参_qrcodeToken #引号 “}”, , “Host: livelinkbind.game.qq.com” #换行符 “Connection: keep-alive” #换行符 “Gap-Plat-Id: huya” #换行符 “Vulcan-AccType: auth_in_h5” #换行符 “Gap-User-From: pc” #换行符 “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” #换行符 “Gap-Act-Id: 9504” #换行符 “Content-Type: application/json” #换行符 “Accept: application/json, text/plain, */*” #换行符 “Gap-From-Id: ” #换行符 “sec-ch-ua-platform: ” #引号 “Windows” + #引号 + “” #换行符 “Origin: https://livelink.qq.com” #换行符 “Referer: https://livelink.qq.com/”))
' 扫码成功返回 {"iRet":0,"sMsg":"ok","jData":{"isScan":true,"isExpired":false,"isCompleted":true},"tid":"8c9e69e8a2f24aa79ccec014e31e58d1","v":2,"apiName":""}
' 调试输出 (“检测账号:”, str)
状态条1.置文本 (0, “检测账号:” + str)
yyjson.清空 ()
yyjson.解析 (str)
isScan yyjson.取逻辑 (“jData/isScan”)
isCompleted yyjson.取逻辑 (“jData/isCompleted”)
.如果真 (isScan 真)
' 调试输出 (“已经扫码等待...:”, str)
.如果真 (isCompleted 真)
' 调试输出 (“扫码绑定成功:”, str)
跳出循环 ()
.如果真结束
.如果真结束
程序_延时 (2000)
.计次循环尾 ()
.子程序 _充值精英令1_被选择, , , 100元
启动线程 (&子程序充值精英令, 1, )
.子程序 _充值精英令10_被选择
启动线程 (&子程序充值精英令, 10, )
.子程序 _充值精英令100_被选择
启动线程 (&子程序充值精英令, 100, )
.子程序 _充值精英令1000_被选择
启动线程 (&子程序充值精英令, 1000, )
.子程序 子程序充值精英令
.参数 充值类型, 整数型
.局部变量 局_Cookie, 文本型
.局部变量 yyuid, 文本型
.局部变量 局_连接ID, 整数型
.局部变量 err0, 文本型
.局部变量 basestr, 文本型
.局部变量 返回jsonstr, 文本型
.局部变量 JSON, 类_json
.局部变量 返回充值ID, 文本型
.局部变量 返回付款码, 文本型
.局部变量 返回文本, 文本型
.局部变量 局_下单模式, 整数型
.局部变量 返回buff, 字节集
.局部变量 buff, 字节集
.局部变量 JCE, 类_JCE解包
.局部变量 openapi, 文本型
.局部变量 返回IP, 文本型
.局部变量 返回端口, 整数型
.局部变量 i, 整数型
.局部变量 D理类型, 整数型
.局部变量 局_充值数量, 文本型
.如果真 (充值类型 1)
局_下单模式 8
.如果真结束
.如果真 (充值类型 10)
局_下单模式 9
.如果真结束
.如果真 (充值类型 100)
局_下单模式 6
.如果真结束
.如果真 (充值类型 1000)
局_下单模式 10
.如果真结束
调试输出 (局_下单模式)
局_充值数量 = 删全部空 (编辑框_充值数量.内容)
.如果真 (局_充值数量 “”)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “请设定充值数量!”)
返回 ()
.如果真结束
窗口_置状态信息 (超级列表框1.现行选中项, 1, “正在充值$” + 到文本 (充值类型) + “..”)
局_Cookie = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
.如果真 (取文本长度 (yyuid) ≠ 13)
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
.如果真结束
.计次循环首 (10, i)
.如果 (选择框_D理.选中 = 真)
D理类型 2
GetIP (返回IP, 返回端口)
.否则
D理类型 0
.如果结束
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
局_连接ID wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
.如果 (局_连接ID 0)
跳出循环 ()
.否则
窗口_置状态信息 (超级列表框1.现行选中项, 1, “代理失败,正在重连...”)
.如果结束
系统_处理事件 ()
.计次循环尾 ()
.如果真 (局_连接ID 0)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss连接失败”)
返回 ()
.如果真结束
basestr = 小黄车操作 (局_下单模式, 局_充值数量, yyuid, 局_Cookie, “”)
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) 假)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss发送失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) 假)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “buff解析失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
调试输出 (“1---”, decodeBuff (返回buff))
buff decodeBuff2 (返回buff)
JCE.set (buff)
' [0]┓
' [0](Short):200
' [1](Str=0):
' [2](Int):5788374
' [4](Int):4798274
' [5](Byte):10
' [0(1)]┛
' [8](Short):5000
' [9](Map,0):
' [10](Map,0):
' [2](Zero):0
' [3](Str=0):
' [4](Zero):0
' [5](Zero):0
' [6](Str=0):
返回文本 UTF8到文本 (JCE.get (“0.6.1”))
调试输出 (“返回文本”, 返回文本)
.如果真 (寻找文本 (返回文本, “需先开通”, , 假) ≠ -1)
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回文本)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
返回充值ID 到文本 (JCE.get整数 (“0.2”))
调试输出 (“返回充值ID”, 返回充值ID)
.如果真 (返回充值ID = “0”)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “取充值id失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
超级列表框1.置标题 (超级列表框1.现行选中项, 6, 返回充值ID)
程序_延时 (1000)
basestr 小黄车操作 (3, “”, yyuid, 局_Cookie, 返回充值ID)
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) 假)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “小黄车下单失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) 假)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “buff解析失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
' 调试输出 (“2---”, decodeBuff (返回buff))
buff decodeBuff2 (返回buff)
JCE.set (buff)
返回付款码 UTF8到文本 (JCE.get (“0.5”))
' 调试输出 (“返回付款码---”, 返回付款码)
.判断开始 (寻找文本 (返回付款码, “weixin://”, , 假) ≠ -1)
图片框1.图片 = 文本生成二维码图片 (返回付款码, , , , , 10)
标签反馈.标题 = “精英令牌” + 到文本 (充值类型) + “充值-Weixin”
窗口_置状态信息 (超级列表框1.现行选中项, 1, “操作完成”)
.判断 (寻找文本 (返回付款码, “openapi.alipay.com”, , 假) ≠ -1)
openapi Zfb跳转二维码 (返回付款码)
' '调试输出 (“Zfb跳转二维码---”, openapi)
图片框1.图片 = 文本生成二维码图片 (openapi, , , , , 10)
标签反馈.标题 = “精英令牌” + 到文本 (充值类型) + “充值-Zfb”
窗口_置状态信息 (超级列表框1.现行选中项, 1, “操作完成”)
.默认
窗口_置状态信息 (超级列表框1.现行选中项, 1, “获取支付二维码失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.判断结束
wss_断开某个连接 (局_连接ID, 真)
' basestr 小黄车操作 (4,"", yyuid, 局_Cookie, 返回充值ID)
' 下面这里 没付款之前是正常得 付款后就不行了 你看下我操作
.' 计次循环首 (50, )
.' 如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) 假)
' 超级列表框1.置标题 (超级列表框1.现行选中项, 4, “检测状态失败”)
' 返回 ()
.如果真结束
.' 如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回jsonstr) 假)
' ' 超级列表框1.置标题 (超级列表框1.现行选中项, 4, 返回jsonstr)
' ' 返回 ()
.如果真结束
' 调试输出 (“检测充值状态返回jsonstr----”, 返回jsonstr)
' 程序_延时 (1000)
.' 计次循环尾 ()
.子程序 Zfb跳转二维码, 文本型
.参数 参_url, 文本型
.局部变量 str, 文本型
str = 到文本 (网页_访问_对象 (参_url, , , , , “Host: openapi.alipay.com” #换行符 “Connection: keep-alive” #换行符 “sec-ch-ua: ” #引号 “Not_A Brand” #引号 “;v=” + #引号 + “8” + #引号 + “, ” + #引号 + “Chromium” + #引号 “;v=” + #引号 + “120” + #引号 + “, ” #引号 “Google Chrome” #引号 “;v=” + #引号 + “120” + #引号 + “” + #换行符 “sec-ch-ua-mobile: ?0” #换行符 “sec-ch-ua-platform: ” #引号 “Windows” + #引号 + “” #换行符 “Upgrade-Insecure-Requests: 1” #换行符 “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” #换行符 “Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7”))
返回 (“https://qr.alipay.com/” 文本_取出中间文本 (str, “https://qr.alipay.com/”, #引号))
.子程序 检测鱼刺充值状态
.参数 参_token, 文本型, 可空
.参数 参_索引, 整数型
.参数 参_cook, 文本型
.局部变量 str, 文本型
.局部变量 局_余额, 整数型
.局部变量 局_工作, 逻辑型
.局部变量 an, 整数型
.局部变量 msg, 文本型
.局部变量 yyjson, json对象
' 检测充值鱼刺成功 '{"error":0,"data":{"state":2,"order_id":"7682614632081039361001","quantity":10,"nickname":"用户27335596"}}
局_工作
.判断循环首 (局_工作 真)
_原子递增 (an)
str = 到文本 (网页_访问_对象 (“https://cz.douyu.com/item/gold/account”, , , 参_cook, , ))
' '调试输出 (str)
状态条1.置文本 (0, “[” + 到文本 (an) + “]检测鱼翅充值-> ” str)
yyjson.清空 ()
yyjson.解析 (str)
局_余额 yyjson.取整数 (“data/gold”)
' 调试输出 (“局_余额”, 局_余额)
窗口_置状态信息 (参_索引, 1, “[” + 到文本 (an) + “]检测鱼翅充值”)
.如果真 (局_余额 > 0)
窗口_置状态信息 (参_索引, 1, “鱼刺余额:” + 到文本 (局_余额))
返回 ()
.如果真结束
程序_延时 (2000)
.判断循环尾 ()
.子程序 _查询手册积分_被选择
启动线程 (&查手册积分, , )
.子程序 查手册积分
.局部变量 局_文本, 文本型
.局部变量 局_Cookie, 文本型
.局部变量 局_F, 文本型, , "0"
.局部变量 ctnEX, 文本型
.局部变量 str, 文本型
.局部变量 userid, 文本型
.局部变量 diff, 文本型
局_文本 = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
ctnEX = 超级列表框1.取标题 (超级列表框1.现行选中项, 5)
局_F = 分割文本 (局_文本, “----”, )
.如果真 (取数组成员数 (局_F) < 3)
窗口_置状态信息 (超级列表框1.现行选中项, 2, “Cookie格式错误”)
返回 ()
.如果真结束
userid 局_F [2]
局_Cookie 局_F [3]
str 编码_Utf8到Ansi (网页_访问_对象 (“https://www.douyu.com/japi/oms/web/peace/credit/diff”, 1, “{” #引号 “userId” + #引号 + “:” #引号 + userid + #引号 + “,” + #引号 + “ctn” + #引号 + “:” + #引号 + ctnEX #引号 “}”, 局_Cookie, , ))
' '{"error":0,"msg":"success","data":{"diff":300}
状态条1.置文本 (0, “查积分-> ” str)
diff 文本_取出中间文本 (str, “diff” + #引号 “:”, “}”)
.如果真 (diff ≠ “”)
窗口_置状态信息 (超级列表框1.现行选中项, 5, “积分:” + diff)
返回 ()
.如果真结束
窗口_置状态信息 (超级列表框1.现行选中项, 5, str)
.子程序 _一键查询积分_被选择
.局部变量 p, 整数型
.计次循环首 (超级列表框1.取表项数 (), p)
.如果真 (超级列表框1.取当前状态图片 (p - 1) = 1)
启动线程 (&查积分记录_线程, p 1, )
程序_延时 (10)
.如果真结束
.计次循环尾 ()
.子程序 查积分记录_线程
.参数 索引E, 整数型
.局部变量 局_Cookie, 文本型
.局部变量 yyuid, 文本型
.局部变量 bin, 字节集
.局部变量 局_连接ID, 整数型
.局部变量 err0, 文本型
.局部变量 basestr, 文本型
.局部变量 JSON, 类_json
.局部变量 返回jsonstr, 文本型
.局部变量 返回积分, 文本型
.局部变量 返回buff, 字节集
.局部变量 JCE, 类_JCE解包
.局部变量 buff, 字节集
.局部变量 返回类型, 字节型
.局部变量 runIP, 文本型
.局部变量 返回IP, 文本型
.局部变量 返回端口, 整数型
.局部变量 i, 整数型
.局部变量 D理类型, 整数型
全读写锁.读进入 ()
局_Cookie 超级列表框1.取标题 (索引E, 1)
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
.如果真 (取文本长度 (yyuid) ≠ 13)
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
.如果真结束
全读写锁.读退出 ()
.计次循环首 (10, i)
.如果 (选择框_D理.选中 = 真)
D理类型 2
GetIP (返回IP, 返回端口)
.否则
D理类型 0
.如果结束
窗口_置状态信息 (索引E, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
局_连接ID wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
.如果 (局_连接ID 0)
跳出循环 ()
.否则
窗口_置状态信息 (索引E, 1, “代理失败,正在重连...”)
.如果结束
系统_处理事件 ()
.计次循环尾 ()
.如果真 (局_连接ID 0)
窗口_置状态信息 (索引E, 1, “wss连接失败”)
返回 ()
.如果真结束
basestr 生成查询积分 (yyuid, 局_Cookie, #常量sid)
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) 假)
窗口_置状态信息 (索引E, 1, “wss发送消息失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) 假)
窗口_置状态信息 (索引E, 1, “buff解析失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
' '调试输出 (“返回buff---”, decodeBuff (返回buff))
buff decodeBuff2 (返回buff)
JCE.set (buff)
.如果真 (JCE.getShort (“0.0”) ≠ 200)
窗口_置状态信息 (索引E, 1, “积分查询,请求失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
JCE.get (“0.6”, 返回类型)
' '调试输出 (“返回类型---”, 返回类型)
.如果真 (返回类型 1)
返回积分 到文本 (JCE.getShort (“0.6”))
.如果真结束
.如果真 (返回类型 0)
返回积分 到文本 (JCE.getByte (“0.6”))
.如果真结束
.如果真 (返回类型 12)
返回积分 到文本 (JCE.getByte (“0.6”))
.如果真结束
窗口_置状态信息 (索引E, 1, 选择 (返回积分 ≠ “”, 返回积分, “0”))
wss_断开某个连接 (局_连接ID, 真)
' [0]┓
' [0](Short):200
' [1](Str=12):请求成功
' [2](Short):300
' [3](Zero):0
' [4](Short):300
' [5](Zero):0
' [6](Short):300
' [0(1)]┛
' [8](Short):5000
' [9](Map,0):
' [10](Map,0):
' [2](Zero):0
' [3](Str=0):
' [4](Zero):0
' [5](Zero):0
' [6](Str=0):
' '其他方式的
' [0]┓
' [0](Short):200
' [1](Str=12):请求成功
' [2](Short):2010
' [3](Short):1980
' [4](Short):2010
' [5](Short):1980
' [6](Byte):30
' [0(1)]┛
' [8](Short):5000
' [9](Map,0):
' [10](Map,0):
' [2](Zero):0
' [3](Str=0):
' [4](Zero):0
' [5](Zero):0
' [6](Str=0):
.子程序 _兑换商品_被选择
启动线程 (&商品兑换, , )
.子程序 商品兑换
.局部变量 局_Cookie, 文本型
.局部变量 yyuid, 文本型
.局部变量 局_昵称, 文本型
.局部变量 局_商品txt, 文本型
.局部变量 _F, 文本型, , "0"
.局部变量 局_商品名称, 文本型
.局部变量 局_商品价格, 文本型
.局部变量 局_商品ID, 文本型
.局部变量 局_连接ID, 整数型
.局部变量 err0, 文本型
.局部变量 basestr, 文本型
.局部变量 返回jsonstr, 文本型
.局部变量 返回buff, 字节集
.局部变量 buff, 字节集
.局部变量 JCE, 类_JCE解包
.局部变量 返回兑换结果, 文本型
.局部变量 请求结果, 文本型
.局部变量 优化价格, 文本型
.局部变量 局_bin, 字节集
.局部变量 返回IP, 文本型
.局部变量 返回端口, 整数型
.局部变量 i, 整数型
.局部变量 D理类型, 整数型
局_Cookie = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
.如果真 (取文本长度 (yyuid) ≠ 13)
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
.如果真结束
局_昵称 = 超级列表框1.取标题 (超级列表框1.现行选中项, 3)
局_商品txt = 组合框1.取项目文本 (组合框1.现行选中项)
.如果真 (局_商品txt = “”)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “请添加商品!”)
返回 ()
.如果真结束
_F = 分割文本 (局_商品txt, “一”, )
.如果真 (取数组成员数 (_F) < 4)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “商品格式错误”)
返回 ()
.如果真结束
' 南瓜骑士载具枪械礼包一15000一9403一22%
局_商品名称 _F [1]
局_商品价格 _F [2]
局_商品ID _F [3]
窗口_置状态信息 (超级列表框1.现行选中项, 1, “兑换:” + 局_商品txt)
.计次循环首 (10, i)
.如果 (选择框_D理.选中 = 真)
D理类型 2
GetIP (返回IP, 返回端口)
.否则
D理类型 0
.如果结束
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
局_连接ID wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
.如果 (局_连接ID 0)
跳出循环 ()
.否则
窗口_置状态信息 (超级列表框1.现行选中项, 1, “代理失败,正在重连...”)
.如果结束
系统_处理事件 ()
.计次循环尾 ()
.如果真 (局_连接ID 0)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss连接失败”)
返回 ()
.如果真结束
basestr 生成兑换商品 (yyuid, 局_Cookie, #常量sid, 局_商品ID)
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) 假)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss发送消息失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) 假)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “buff解析失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
' 调试输出 (“11----”, decodeBuff (返回buff))
buff decodeBuff2 (返回buff)
JCE.set (buff)
请求结果 UTF8到文本 (JCE.get (“0.1”))
' '调试输出 (“请求结果----”, 请求结果)
.如果真 (请求结果 ≠ “请求成功”)
窗口_置状态信息 (超级列表框1.现行选中项, 1, 请求结果)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
返回兑换结果 UTF8到文本 (JCE.get (“0.4.3”))
' 调试输出 (“返回兑换结果----”, 返回兑换结果)
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回兑换结果)
wss_断开某个连接 (局_连接ID, 真)
' 优化价格 = 取文本左边 (局_商品价格, 取文本长度 (局_商品价格) - 1)
' 调试输出 (优化价格)
保存日志2 (时间_到文本 (取现行时间 (), 1) + “ ” 局_Cookie + “----” 局_商品名称 + “----” + 局_商品价格)
局_bin = 文转图片P (局_商品名称 + “ ” + #换行符 + 时间_格式化 (取现行时间 (), “yyyy年MM月dd日”, “ hh:mm:ss”, 真) + #换行符 + “兑换账号:” + “(” + 局_昵称 + “)”)
剪辑板_置图片 (局_bin)
提示框 (“兑换成功,图片已复制”, , , , 1000)
' 成功返回 [0]┓
' [0](Short):200
' [1](Str=12):请求成功
' [3](Str=47):sOrderId_1663_9187_1199646113837_1732817910_703
' [4]┓
' [1](Short):9187
' [2](Byte):20
' [3](Str=38):兑换奖品:荣耀勋章礼包(小)
' [0]┛
' [0(1)]┛
' [8](Short):5000
' [9](Map,0):
' [10](Map,0):
' [2](Zero):0
' [3](Str=0):
' [4](Zero):0
' [5](Zero):0
' [6](Str=0):
' =========失败返回
' 0]┓
' [0](Short):9106
' [1](Str=61):购买精英宝典商品,才能开启精英宝典特权哦~
' [3](Str=0):
' [5]┓
' [0](Byte):3
' [1](Map,3):
' [0](Str=9):minAmount
' [1](Str=1):1
' [0(1)](Str=7):propIds
' [1(1)](Str=7):1285501
' [0(2)](Str=9):maxAmount
' [1(2)](Str=5):99999
' [2](Str=61):购买精英宝典商品,才能开启精英宝典特权哦~
' [3](Str=0):
' [4](Str=0):
' [0(1)]┛
' [0(1)]┛
' [8](Short):5000
' [9](Map,0):
' [10](Map,0):
' [2](Zero):0
' [3](Str=0):
' [4](Zero):0
' [5](Zero):0
' [6](Str=0):
.子程序 _图片框1_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.如果真 (图片框1.图片 = { })
提示框 (“请先生成后,再复制二维码”, , , , 1000)
返回 ()
.如果真结束
剪辑板_置图片 (图片框1.图片)
提示框 (“二维码已复制”, , , , 1000)
.子程序 _超级列表框1_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
启动线程 (&子程序标签更新, , )
.子程序 子程序标签更新
.局部变量 局_文本, 文本型
.局部变量 返回昵称, 文本型
.局部变量 返回积分, 文本型
.局部变量 返回手机, 文本型
.局部变量 返回err0, 文本型
.局部变量 返回渠道, 文本型
.如果真 (查积分记录_单线程 (返回昵称, 返回积分, 返回手机, 返回渠道, 返回err0) = 假)
标签_昵称.标题 = 返回err0
返回 ()
.如果真结束
标签_昵称.标题 = “积分:” + 返回积分
标签_状态.标题 = “游戏名称:” + 返回昵称 + #换行符 + “渠道:” + 返回渠道 + #换行符 + “手机:” + 返回手机
超级列表框1.置标题 (超级列表框1.现行选中项, 3, 返回昵称)
超级列表框1.置标题 (超级列表框1.现行选中项, 5, “操作成功”)
.子程序 查积分记录_单线程, 逻辑型
.参数 返回昵称, 文本型, 参考
.参数 返回积分, 文本型, 参考
.参数 返回手机, 文本型
.参数 返回渠道, 文本型, 参考, 苹果 和安卓
.参数 返回err0, 文本型, 参考
.局部变量 局_Cookie, 文本型
.局部变量 yyuid, 文本型
.局部变量 局_连接ID, 整数型
.局部变量 err0, 文本型
.局部变量 basestr, 文本型
.局部变量 返回jsonstr, 文本型
.局部变量 JSON, 类_json
.局部变量 局_积分, 文本型
.局部变量 返回buff, 字节集
.局部变量 buff, 字节集
.局部变量 JCE, 类_JCE解包
.局部变量 返回类型, 字节型
.局部变量 返回IP, 文本型
.局部变量 返回端口, 整数型
.局部变量 i, 整数型
.局部变量 D理类型, 整数型
局_Cookie = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
.如果真 (取文本长度 (yyuid) ≠ 13)
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
.如果真结束
.计次循环首 (10, i)
.如果 (选择框_D理.选中 = 真)
D理类型 2
GetIP (返回IP, 返回端口)
.否则
D理类型 0
.如果结束
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
局_连接ID wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
.如果 (局_连接ID 0)
跳出循环 ()
.否则
窗口_置状态信息 (超级列表框1.现行选中项, 1, “代理失败,正在重连...”)
.如果结束
系统_处理事件 ()
.计次循环尾 ()
.如果真 (局_连接ID 0)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss连接失败”)
返回 (假)
.如果真结束
' #常量outerActId ,,“9504”
basestr 生成查询游戏名 (yyuid, 局_Cookie, “9504”)
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) 假)
返回err0 = “wss发送消息失败”
wss_断开某个连接 (局_连接ID, 真)
返回 (假)
.如果真结束
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) 假)
返回err0 = “buff解析失败”
wss_断开某个连接 (局_连接ID, 真)
返回 (假)
.如果真结束
' '调试输出 (decodeBuff (返回buff))
' 调试输出 (“查询游戏---”, decodeBuff (返回buff))
buff decodeBuff2 (返回buff)
JCE.set (buff)
返回昵称 UTF8到文本 (JCE.get (“0.2.4.1”))
返回渠道 UTF8到文本 (JCE.get (“0.2.4.2”))
返回手机 UTF8到文本 (JCE.get (“0.2.4.3”))
buff { }
basestr 生成查询积分 (yyuid, 局_Cookie, #常量sid)
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) 假)
返回err0 = “wss发送消息失败”
wss_断开某个连接 (局_连接ID, 真)
返回 (假)
.如果真结束
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) 假)
返回err0 = “buff解析失败”
wss_断开某个连接 (局_连接ID, 真)
返回 (假)
.如果真结束
buff decodeBuff2 (返回buff)
JCE.set (buff)
JCE.get (“0.6”, 返回类型)
' '调试输出 (“返回类型---”, 返回类型)
.如果真 (返回类型 1)
返回积分 到文本 (JCE.getShort (“0.6”))
.如果真结束
.如果真 (返回类型 0)
返回积分 到文本 (JCE.getByte (“0.6”))
.如果真结束
.如果真 (返回类型 12)
返回积分 到文本 (JCE.getByte (“0.6”))
.如果真结束
' 调试输出 (“返回积分---”, 返回积分)
wss_断开某个连接 (局_连接ID, 真)
返回 (真)
.子程序 _标签_状态_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
剪辑板_置图片 (快照 (标签_状态.取窗口句柄 (), , ))
提示框 (“图片已复制”, , , , 1000)
.子程序 _窗口1_可否被关闭, 逻辑型
.如果 (信息框 (“确定要退出程序吗?”, #信息图标 + #确认钮 + #取消钮, , ) = #确认钮)
返回 (真)
.否则
返回 (假)
.如果结束
.子程序 _窗口1_将被销毁
Gdip结束 ()
数据写出列表 ()
哈希清空 ()
配置_保存_易语言组件 (窗口1)
.子程序 _按钮_结算_被单击
启动线程 (&子程序结算, , )
.子程序 子程序结算
.局部变量 str, 文本型
.局部变量 局_1, 文本型, , "0"
.局部变量 局_F, 文本型, , "0"
.局部变量 N, 整数型
.局部变量 局_NUM, 整数型
.局部变量 局_日志路径, 文本型
.局部变量 局_标识, 文本型, , "0"
.局部变量 局_文本1, 文本型
.局部变量 局_文本2, 文本型
.局部变量 局_返回余额, 整数型
局_日志路径 = 取运行目录 () + “\” + 时间_格式化 (取现行时间 (), “MM.dd-”) “兑换日志.log”
str 编码_Utf8到Ansi (读入文件 (局_日志路径))
.如果真 (str “”)
提示框 (“生成日志后,再结算金额...”, , , , 1000)
返回 ()
.如果真结束
文本_取中间_批量 (str, “---------------------------------------------已结算----以上合计金额:”, #换行符, 局_标识)
.如果真 (取数组成员数 (局_标识) < 1)
' 提示框 (“生成日志后,再结算金额”, , , , 2000)
局_F 分割文本 (str, #换行符, )
.计次循环首 (取数组成员数 (局_F), N)
局_返回余额 = 子程序处理余额 (局_F [N])
_原子运算 (局_NUM, 局_返回余额)
系统_处理事件 ()
.计次循环尾 ()
保存日志2 (#换行符 #换行符 “---------------------------------------------已结算----以上合计金额:” + 到文本 (局_NUM) + #换行符 + #换行符)
提示框 (“结算完成:” + 到文本 (局_NUM), , , , 2000)
返回 ()
.如果真结束
.如果真 (局_标识 [取数组成员数 (局_标识)] ≠ “”)
局_文本1 “---------------------------------------------已结算----以上合计金额:” + 局_标识 [取数组成员数 (局_标识)]
局_1 分割文本 (str, 局_文本1, )
局_文本2 = 局_1 [取数组成员数 (局_1)]
.如果真 (局_文本2 ≠ “”)
局_F = 分割文本 (局_文本2, #换行符, )
.计次循环首 (取数组成员数 (局_F), N)
局_返回余额 = 子程序处理余额 (局_F [N])
_原子运算 (局_NUM, 局_返回余额)
系统_处理事件 ()
.计次循环尾 ()
.如果真 (局_NUM ≤ 0)
提示框 (“未达到结算条件!”, , , , 2000)
返回 ()
.如果真结束
保存日志2 (#换行符 #换行符 “---------------------------------------------已结算----以上合计金额:” + 到文本 (局_NUM) + #换行符 + #换行符)
清除数组 (局_1)
清除数组 (局_F)
提示框 (“结算完成:” + 到文本 (局_NUM), , , , 2000)
返回 ()
.如果真结束
提示框 (“未达到结算条件!”, , , , 2000)
.如果真结束
.子程序 子程序处理余额, 整数型
.参数 参_数据, 文本型
.局部变量 局_F, 文本型, , "0"
.局部变量 N, 整数型
局_F = 分割文本 (参_数据, “----”, )
.如果真 (取数组成员数 (局_F) = 4)
返回 (到整数 (局_F [4]))
.如果真结束
返回 (0)
.子程序 _按钮_统计_被单击
.局部变量 str, 文本型
.局部变量 局_日志路径, 文本型
.局部变量 局_F, 文本型, , "0"
.局部变量 P, 整数型
.局部变量 局_返回余额, 整数型
.局部变量 局_NUM, 整数型
局_日志路径 = 取运行目录 () + “\” + 时间_格式化 (取现行时间 (), “MM.dd-”) “兑换日志.log”
str 编码_Utf8到Ansi (读入文件 (局_日志路径))
局_F 分割文本 (str, #换行符, )
.计次循环首 (取数组成员数 (局_F), P)
局_返回余额 = 子程序处理余额 (局_F [P])
_原子运算 (局_NUM, 局_返回余额)
系统_处理事件 ()
.计次循环尾 ()
保存日志2 (#换行符 #换行符 “*************************************************今日统计总金额:” + 到文本 (局_NUM) + #换行符 + #换行符)
信息框 (时间_格式化 (取现行时间 (), “MM.dd-”) + “统计总金额:” 到文本 (局_NUM), 0, , )
.子程序 判断重复列表
.参数 参_内容, 文本型
.局部变量 局_文本, 文本型
.局部变量 局_用户, 文本型
.局部变量 _索引, 整数型
.局部变量 局_索引2, 整数型
.局部变量 P, 整数型
_索引 = 超级列表框1.查找表项 (参_内容, , , 1)
.如果 (_索引 -1)
局_索引2 = 超级列表框1.插入表项 (, , , , , )
超级列表框1.置标题 (局_索引2, 0, 到文本 (局_索引2 1))
超级列表框1.置标题 (局_索引2, 1, 参_内容)
超级列表框1.置状态图片 (局_索引2, 1)
.否则
超级列表框1.置标题 (_索引, 1, 参_内容)
.如果结束
.子程序 保存日志
.参数 参_str, 文本型
.局部变量 filename, 文本型
.局部变量 保存到文件, 鱼刺类_输出文本
filename 时间_格式化 (取现行时间 (), “MM.dd-”) + “流程日志”
保存到文件.写文本行 (参_str, filename, 取运行目录 () “\”, “.log”)
.子程序 保存日志2
.参数 参_str, 文本型
.局部变量 filename, 文本型
.局部变量 保存到文件, 鱼刺类_输出文本
filename 时间_格式化 (取现行时间 (), “MM.dd-”) + “兑换日志”
保存到文件.写文本行 (参_str, filename, 取运行目录 () “\”, “.log”)
保存到文件.关闭所有文件占用 ()
.子程序 数据写入列表, , , APP
.局部变量 文件号, 整数型
.局部变量 文件名, 文本型
.局部变量 状态数组, 文本型, , "0"
.局部变量 文本数组, 文本型, , "0"
.局部变量 M, 整数型
.局部变量 N, 整数型
.局部变量 局_状态图片, 整数型
文件名 = 全目录临时 + “\临时ck.txt”
文件号 = 打开文件 (文件名, , )
移到文件首 (文件号)
处理事件 ()
.判断循环首 (取反 (是否在文件尾 (文件号, 真)))
重定义数组 (状态数组, 假, 0)
重定义数组 (文本数组, 假, 0)
状态数组 = 分割文本 (读入一行 (文件号), “$”, )
.如果真 (取数组成员数 (状态数组) ≥ 2)
.如果 (状态数组 [1] = “x”)
局_状态图片 = 1
.否则
局_状态图片 = 0
.如果结束
文本数组 = 分割文本 (状态数组 [2], “|||”, )
M = 超级列表框1.插入表项 (, , , , , )
超级列表框1.置状态图片 (M, 局_状态图片)
.计次循环首 (取数组成员数 (文本数组), N)
系统_处理事件 ()
超级列表框1.置标题 (M, N - 1, 文本数组 [N])
.如果真 (N = 20) ' 填充满一页就手动重画
超级列表框1.禁止重画 ()
.如果真结束
.如果真 (N 100 0) ' 每100次插入 换一次姿势 ``233333
超级列表框1.允许重画 ()
超级列表框1.发送信息 (277, 7, 0) ' 显示最后一行
超级列表框1.禁止重画 ()
.如果真结束
.计次循环尾 ()
.如果真结束
.判断循环尾 ()
关闭文件 (文件号)
超级列表框1.允许重画 () ' 恢复自动重画
超级列表框1.发送信息 (277, 7, 0) ' 显示最后一行
.子程序 数据写出列表, , , APP
.局部变量 文件名, 文本型
.局部变量 读入账号, 文本型
.局部变量 n, 整数型
.局部变量 临时文件名, 文本型
.局部变量 文件号, 整数型
.局部变量 文本, 文本型
.局部变量 空, 字节集
.局部变量 局_状态图片, 文本型
临时文件名 = 全目录临时 + “\临时ck.txt”
文件号 = 打开文件 (临时文件名, 4, )
_处理事件 ()
文本 “”
.计次循环首 (超级列表框1.取表项数 (), n)
系统_处理事件 ()
.判断开始 (超级列表框1.取当前状态图片 (n - 1) = 1)
局_状态图片 = “x”
.默认
局_状态图片 = “y”
.判断结束
文本 = 局_状态图片 + “$” + 超级列表框1.取标题 (n - 1, 0) + “|||” 超级列表框1.取标题 (n - 1, 1) + “|||” 超级列表框1.取标题 (n - 1, 2) + “|||” 超级列表框1.取标题 (n - 1, 3) + “|||” 超级列表框1.取标题 (n - 1, 4) + “|||” 超级列表框1.取标题 (n - 1, 5) + “|||” 超级列表框1.取标题 (n - 1, 6)
写文本行 (文件号, 文本)
.计次循环尾 ()
关闭文件 (文件号)
.子程序 _标签_昵称_被双击, 逻辑型, , https://livelink.qq.com/act/a20200527midgroupage/pc/?sig=0d29d14f3e9bdb05f7f091340952054f&faceUrl=https%3A%2F%2Fapic.douyucdn.cn%2Fupload%2Favatar%2Fdefault%2F15_middle.jpg&code=wW6EhNWpLEVNHKEMfB9vaEWKPdowIikRqFJI0IKm%2BcxGa%2B8OEPhyF%2BZ58W80CrGigCGtLddIofBcnRkylmccKw%3D%3D&redirectUrl=null&t=1661433534&livePlatId=douyu&nickName=%E7%94%A8%E6%88%B702435853&actId=2811&gameIdList=cjm
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.局部变量 str, 文本型, , , 昵称:null <-> 余额:null
str = 删首尾空 (文本_取出中间文本 (标签_昵称.标题, “账号:”, “<->”))
置剪辑板文本 (str)
提示框 (str “ 已复制”, , , , 1000)
.子程序 _图片框2_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
' 剪辑板_置图片 (图片框2.图片)
提示框 (“图片已复制”, , , , 1000)
.子程序 __扫码框_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
窗口1.发送信息 (161, 2, 0)
.子程序 _粘贴CK_被选择
.局部变量 文本数组, 文本型, , "0"
.局部变量 计次1, 整数型
.局部变量 计次2, 整数型
.局部变量 临时数组, 文本型, , "0"
.局部变量 索引, 整数型
.局部变量 i, 文本型
.局部变量 总数数组, 文本型, , "0"
.局部变量 内容, 文本型
.局部变量 X, 整数型
.局部变量 状态数组, 文本型, , "0"
.局部变量 N, 整数型
.局部变量 M, 整数型
.局部变量 判断数据, 文本型
' 下面的是粘贴根据“----“判断是否是一条或者两条数据
i 取剪辑板文本 ()
.如果真 (i “”)
返回 ()
.如果真结束
文本数组 = 分割文本 (i, #换行符, )
.计次循环首 (取数组成员数 (文本数组), X)
判断数据 = 文本数组 [X]
.如果真 (判断数据 ≠ “”)
状态数组 = 分割文本 (判断数据, “----”, )
M = 超级列表框1.插入表项 (, , , , , )
超级列表框1.置状态图片 (M, 1)
.计次循环首 (取数组成员数 (状态数组), N)
超级列表框1.置标题 (M, 0, 到文本 (M 1))
超级列表框1.置标题 (M, N, 状态数组 [N])
.计次循环尾 ()
.如果真结束
系统_处理事件 ()
.计次循环尾 ()
超级列表框1.允许重画 () ' 恢复自动重画
超级列表框1.发送信息 (277, 7, 0) ' 显示最后一行
清除数组 (文本数组)
返回 ()
.子程序 _搜索游戏名_被选择
.局部变量 索引EX, 整数型
.局部变量 str, 文本型
输入框 (“查找包含游戏名的字符”, “查找游戏名”, , str, , )
.如果真 (str “”)
返回 ()
.如果真结束
索引EX = 超级列表框1.查找表项 (str, , 假, 3)
.如果真 (索引EX ≠ -1)
超级列表框1.保证显示 (索引EX)
超级列表框1.选择表项 (索引EX)
.如果真结束
返回 ()
.子程序 _搜索状态_被选择
.局部变量 索引EX, 整数型
.局部变量 str, 文本型
输入框 (“查找包含状态的字符”, “查找状态”, , str, , )
.如果真 (str “”)
返回 ()
.如果真结束
索引EX = 超级列表框1.查找表项 (str, , 假, 5)
.如果真 (索引EX ≠ -1)
超级列表框1.保证显示 (索引EX)
超级列表框1.选择表项 (索引EX)
.如果真结束
返回 ()
.子程序 子程序检测账号E
.参数 参_索引, 整数型
.局部变量 局_Cookie, 文本型
.局部变量 time, 文本型
.局部变量 userNick, 文本型
.局部变量 str, 文本型
.局部变量 yyuid, 文本型
.局部变量 返回nick, 文本型
全检车临界.进入 ()
局_Cookie = 超级列表框1.取标题 (参_索引, 1)
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
.如果真 (取文本长度 (yyuid) ≠ 13)
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
.如果真结束
全检车临界.退出 ()
.如果 (hy获取昵称 (yyuid, 局_Cookie, 返回nick) 真)
窗口_置状态信息 (参_索引, 1, “账号正常”)
.否则
.如果 (寻找文本 (返回nick, “请先登录”, , 假) ≠ -1)
窗口_置状态信息 (参_索引, 1, “请先登录!”)
.否则
窗口_置状态信息 (参_索引, 1, 返回nick)
.如果结束
.如果结束
' time 时间_取现行时间戳 ()
' str 到文本 (网页_访问_对象 (“https://l.huya.com/udb_web/udbport2.php?m=HuyaLogin&do=checkLogin&callback=jQuery112405809542307638578_” time “&_=” time, , , 局_Cookie, , “Host: l.huya.com” #换行符 “Connection: keep-alive” #换行符 “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” #换行符 “sec-ch-ua-platform: ” #引号 “Windows” + #引号 + “” #换行符 + “Accept: */*” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: no-cors” #换行符 “Sec-Fetch-Dest: script” #换行符 “Referer: https://zt.huya.com/”))
' 调试输出 (str)
' userNick 文本_取出中间文本 (str, “userNick” #引号 “:” #引号, #引号)
.子程序 _一键检测账号_被选择
.局部变量 p, 整数型
.计次循环首 (超级列表框1.取表项数 (), p)
.如果真 (超级列表框1.取当前状态图片 (p - 1) = 1)
启动线程 (&子程序检测账号E, p 1, )
程序_延时 (100)
.如果真结束
.计次循环尾 ()
.子程序 _全选_被选择
.局部变量 P, 整数型
.计次循环首 (超级列表框1.取表项数 (), P)
系统_处理事件 ()
超级列表框1.置状态图片 (P - 1, 1)
.计次循环尾 ()
.子程序 _反选_被选择
.局部变量 P, 整数型
.计次循环首 (超级列表框1.取表项数 (), P)
系统_处理事件 ()
.如果 (超级列表框1.取当前状态图片 (P - 1) = 0)
超级列表框1.置状态图片 (P - 1, 1)
.否则
超级列表框1.置状态图片 (P - 1, 0)
.如果结束
.计次循环尾 ()
.子程序 _一键获取游戏名_被选择
.局部变量 p, 整数型
.计次循环首 (超级列表框1.取表项数 (), p)
.如果真 (超级列表框1.取当前状态图片 (p - 1) = 1)
启动线程 (&查询游戏昵称, p 1, )
程序_延时 (10)
.如果真结束
.计次循环尾 ()
.子程序 查询游戏昵称
.参数 索引EX, 整数型
.局部变量 局_Cookie, 文本型
.局部变量 yyuid, 文本型
.局部变量 str, 文本型
.局部变量 局_连接ID, 整数型
.局部变量 err0, 文本型
.局部变量 basestr, 文本型
.局部变量 返回数据指针, 长整数型
.局部变量 返回name, 文本型
.局部变量 bool, 逻辑型
.局部变量 返回jsonstr, 文本型
.局部变量 JSON, 类_json
.局部变量 返回buff, 字节集
.局部变量 buff, 字节集
.局部变量 JCE, 类_JCE解包
.局部变量 返回IP, 文本型
.局部变量 返回端口, 整数型
.局部变量 i, 整数型
.局部变量 D理类型, 整数型
.局部变量 局_换绑时间, 文本型
全读写锁.读进入 ()
局_Cookie 超级列表框1.取标题 (索引EX, 1)
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
.如果真 (取文本长度 (yyuid) ≠ 13)
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
.如果真结束
全读写锁.读退出 ()
' 获取昵称方法1-wss获取-------------
.' 计次循环首 (10, i)
.' 如果 (选择框_D理.选中 真)
' D理类型 2
' GetIP (返回IP, 返回端口)
.否则
' D理类型 0
.如果结束
' 窗口_置状态信息 (索引EX, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
' 局_连接ID wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
.' 如果 (局_连接ID 0)
' 跳出循环 ()
.否则
' 窗口_置状态信息 (索引EX, 1, “代理失败,正在重连...”)
.如果结束
' 系统_处理事件 ()
.' 计次循环尾 ()
.' 如果真 (局_连接ID 0)
' 窗口_置状态信息 (索引EX, 1, “wss连接失败”)
' 返回 ()
.如果真结束
' basestr 生成查询游戏名 (yyuid, 局_Cookie, “9504”)
.' 如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) 假)
' 窗口_置状态信息 (索引EX, 1, “wss发送消息失败”)
' wss_断开某个连接 (局_连接ID, 真)
' 返回 ()
.如果真结束
.' 如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) 假)
' 窗口_置状态信息 (索引EX, 1, “buff解析失败”)
' wss_断开某个连接 (局_连接ID, 真)
' 返回 ()
.如果真结束
' 调试输出 (取程序名称 (1), decodeBuff (返回buff))
' buff decodeBuff2 (返回buff)
' JCE.set (buff)
.' 如果真 (JCE.getShort (“0.0”) ≠ 200)
' 窗口_置状态信息 (索引EX, 1, “查询昵称失败”)
' wss_断开某个连接 (局_连接ID, 真)
' 返回 ()
.如果真结束
' 返回name UTF8到文本 (JCE.get (“0.2.4.1”))
.' 如果 (返回name ≠ “”)
' 窗口_置信息2 (索引EX, 1, 返回name)
.否则
' 窗口_置信息2 (索引EX, 1, “NULL”)
.如果结束
' wss_断开某个连接 (局_连接ID, 真)
' 窗口_置状态信息 (索引EX, 1, “操作完成”)
' 获取昵称方法2-http获取-------------
.如果 (查询绑定的游戏名 (局_Cookie, 返回name) 真)
窗口_置信息2 (索引EX, 1, 返回name)
.否则
窗口_置信息2 (索引EX, 1, “NULL”)
.如果结束
.子程序 查询绑定的游戏名, 逻辑型
.参数 参_Cookie, 文本型
.参数 返回nick, 文本型, 参考
.局部变量 str, 文本型
.局部变量 yyjson, json对象
.局部变量 userNick, 文本型
.局部变量 str_new, 文本型
str 编码_Utf8到Ansi (网页_访问_对象 (“https://l.huya.com/udb_web/udbport2.php?m=HuyaLogin&do=checkLogin&callback=jQuery1124008854290544847743_” 时间_取现行时间戳 () + “&_=” + 时间_取现行时间戳 (), , , 参_Cookie, , “Host: l.huya.com” #换行符 “Connection: keep-alive” #换行符 “Pragma: no-cache” #换行符 “Cache-Control: no-cache” #换行符 “sec-ch-ua-platform: ” #引号 “Windows” + #引号 + “” #换行符 “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36” #换行符 “sec-ch-ua: ” #引号 “Not(A:Brand” #引号 “;v=” + #引号 + “99” + #引号 + “, ” #引号 “Google Chrome” #引号 “;v=” + #引号 + “133” + #引号 + “, ” + #引号 + “Chromium” + #引号 “;v=” + #引号 + “133” + #引号 + “” + #换行符 “sec-ch-ua-mobile: ?0” #换行符 “Accept: */*” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: no-cors” #换行符 “Sec-Fetch-Dest: script” #换行符 “Referer: https://zt.huya.com/” #换行符 “Accept-Language: zh-CN,zh;q=0.9”))
' '调试输出 (取程序名称 (1), str)
str_new 文本_取出中间文本 (str, “(”, “)”)
yyjson.清空 ()
yyjson.解析 (str_new)
userNick yyjson.取文本 (“userNick”)
.如果真 (userNick ≠ “”)
返回nick userNick
返回 (真)
.如果真结束
返回 (假)
' uid=1199646116592
' userName=hy_272672763
' userNick=鸡杂马烧麦
' jQuery1124008854290544847743_1769827959574({"isLogined":true,"userName":"hy_272672763","uid":"1199646116592","userNick":"\u9e21\u6742\u9a6c\u70e7\u9ea6","userLogo":null,"isHuya":true})
.子程序 _按钮_启动_被单击
.判断开始 (按钮_启动.标题 = “批量兑换商品”)
.如果真 (超级列表框1.取表项数 () ≤ 0)
返回 ()
.如果真结束
按钮_启动.禁止
全工作中
启动线程 (&工作线程, , )
.' 如果真 (线程_创建 (&工作线程) 假)
' 按钮_启动.禁止 = 假
' 返回 ()
.如果真结束
.判断 (按钮_启动.标题 = “停止兑换商品”)
按钮_启动.禁止
按钮_启动.标题 = “停 止 中...”
全工作中
精英线程.销毁 ()
精英线程.销毁 ()
返回 ()
.默认
.判断结束
.子程序 工作线程
.局部变量 bool, 逻辑型
.局部变量 int, 整数型
.局部变量 任务数, 整数型
全定时数 0
按钮_启动.标题 = “兑换中...”
状态条1.置文本 (0, “线程启动中...”)
' bool 精英线程.创建 (20, 20)
.' 如果真 (bool 假)
' 状态条1.置文本 (0, “初始化工作线程池失败!”)
' 按钮_启动.标题 = “批量兑换商品”
' 按钮_启动.禁止 = 假
' 返回 ()
.如果真结束
' 全工作中
' 按钮_启动.标题 = “停止兑换商品”
' 按钮_启动.禁止
' int 0
.' 判断循环首 (全工作中 = 真)
' 任务数 = 精英线程.取_执行线程数 () + 精英线程.取_队列任务数 ()
' 任务数 = 精英线程.取_最大线程容量 () - 任务数
.' 如果真 (任务数 0)
.' 如果真 (超级列表框1.取当前状态图片 (int) = 1)
' 精英线程.投递任务 (&线程子程序, int)
.如果真结束
' int int 1
.如果真结束
.' 如果真 (int ≥ 超级列表框1.取表项数 ())
' 跳出循环 ()
.如果真结束
' ' _延迟 (1)
.' 判断循环尾 ()
.' 循环判断首 ()
' 程序_延时 (300)
.' 循环判断尾 (精英线程.取_是否完全空闲 () = 假)
' 状态条1.置文本 (0, “正在销毁工作线程池。。。。”)
' 精英线程.销毁 ()
' 状态条1.置文本 (0, “销毁工作线程池成功!”)
' 按钮_启动.标题 = “批量兑换商品”
' 按钮_启动.禁止
' 状态条1.置文本 (0, “执行停止完毕!”)
精英线程.创建 (&线程子程序, 到整数 (编辑框_线程数.内容))
.计次循环首 (超级列表框1.取表项数 (), int)
.如果真 (超级列表框1.取当前状态图片 (int - 1) 1)
精英线程.加入任务 (int - 1, )
.如果真结束
系统_处理事件 ()
.计次循环尾 ()
.循环判断首 ()
程序_延时 (300)
.循环判断尾 (精英线程.等待完成 () = 假)
精英线程.销毁 ()
状态条1.置文本 (0, “销毁工作线程池成功!”)
按钮_启动.标题 = “批量兑换商品”
按钮_启动.禁止
状态条1.置文本 (0, “执行停止完毕!”)
.子程序 线程子程序
.参数 索引E, 整数型
.局部变量 局_商品名称, 文本型
.局部变量 局_商品ID, 文本型
.局部变量 局_商品价格, 文本型
.局部变量 局_用户名, 文本型
.局部变量 yyuid, 文本型
.局部变量 局_Cookie, 文本型
.局部变量 局_连接ID, 整数型
.局部变量 err0, 文本型
.局部变量 basestr, 文本型
.局部变量 局_商品txt, 文本型
.局部变量 _F, 文本型, , "0"
.局部变量 返回jsonstr, 文本型
.局部变量 优化价格, 文本型
.局部变量 局_bin, 字节集
.局部变量 JSON, 类_json
.局部变量 返回兑换结果, 文本型
.局部变量 局_昵称, 文本型
.局部变量 返回IP, 文本型
.局部变量 i, 整数型
.局部变量 返回端口, 整数型
.局部变量 D理类型, 整数型
.局部变量 返回buff, 字节集
.局部变量 buff, 字节集
.局部变量 JCE, 类_JCE解包
.局部变量 请求结果, 文本型
.局部变量 是否代理, 逻辑型
' 全快速锁.进入读锁 ()
局_Cookie 超级列表框1.取标题 (索引E, 1)
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
局_昵称 = 超级列表框1.取标题 (索引E, 3)
局_商品txt = 超级列表框1.取标题 (索引E, 4)
.如果真 (取文本长度 (yyuid) ≠ 13)
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
.如果真结束
' 全快速锁.退出读锁 ()
.如果真 (局_商品txt = “”)
窗口_置状态信息 (索引E, 1, “请添加商品!”)
返回 ()
.如果真结束
_F = 分割文本 (局_商品txt, “一”, )
.如果真 (取数组成员数 (_F) < 4)
窗口_置状态信息 (索引E, 1, “商品格式错误”)
返回 ()
.如果真结束
' 全快速锁.进入写锁 ()
局_商品名称 _F [1]
局_商品价格 _F [2]
局_商品ID _F [3]
' 全快速锁.退出写锁 ()
是否代理 选择框_D理.选中
.计次循环首 (5, i)
.如果 (是否代理)
D理类型 2
GetIP (返回IP, 返回端口)
.否则
D理类型 0
返回IP “”
返回端口 0
.如果结束
窗口_置状态信息 (索引E, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
局_连接ID wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
.如果 (局_连接ID 0)
跳出循环 ()
.否则
窗口_置状态信息 (索引E, 1, “代理失败,正在重连...”)
.如果结束
系统_处理事件 ()
.计次循环尾 ()
' 局_连接ID wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
.如果真 (局_连接ID 0)
窗口_置状态信息 (索引E, 1, “wss连接失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
' 调试输出 (yyuid, 局_商品ID)
basestr 生成兑换商品 (yyuid, 局_Cookie, #常量sid, 局_商品ID)
.计次循环首 (5, )
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)))
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff))
' 调试输出 (“11----”, decodeBuff (返回buff))
buff decodeBuff2 (返回buff)
JCE.set (buff)
请求结果 UTF8到文本 (JCE.get (“0.1”))
窗口_置状态信息 (索引E, 1, 请求结果)
.如果真 (寻找文本 (请求结果, “精英宝典”, , 假) ≠ -1)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
.如果真 (寻找文本 (请求结果, “奖品暂未开放兑换”, , 假) ≠ -1)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
.如果真 (寻找文本 (请求结果, “货币不足”, , 假) ≠ -1)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
.如果真 (请求结果 = “请求成功”)
返回兑换结果 UTF8到文本 (JCE.get (“0.4.3”))
跳出循环 ()
.如果真结束
.如果真结束
.如果真结束
.计次循环尾 ()
wss_断开某个连接 (局_连接ID, 真)
.如果真 (寻找文本 (请求结果, “请求成功”, , 假) = -1)
窗口_置状态信息 (索引E, 1, “失败=>” 请求结果)
返回 ()
.如果真结束
.' 如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) 假)
' 窗口_置状态信息 (索引E, 1, “wss发送消息失败”)
' wss_断开某个连接 (局_连接ID, 真)
' 返回 ()
.如果真结束
.' 如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) 假)
' 窗口_置状态信息 (索引E, 1, “buff解析失败”)
' wss_断开某个连接 (局_连接ID, 真)
' 返回 ()
.如果真结束
' ' ’调试输出 (“11----”, decodeBuff (返回buff))
' buff decodeBuff2 (返回buff)
' JCE.set (buff)
' 请求结果 UTF8到文本 (JCE.get (“0.1”))
' ' 调试输出 (“请求结果----”, 请求结果)
.' 如果真 (请求结果 ≠ “请求成功”)
' 窗口_置状态信息 (索引E, 1, 请求结果)
' wss_断开某个连接 (局_连接ID, 真)
' 返回 ()
.如果真结束
' 返回兑换结果 UTF8到文本 (JCE.get (“0.4.3”))
' 调试输出 (“返回兑换结果----”, 返回兑换结果)
窗口_置状态信息 (索引E, 1, “兑换成功:” + 返回兑换结果)
wss_断开某个连接 (局_连接ID, 真)
全快速锁.进入写锁 ()
优化价格 = 取文本左边 (局_商品价格, 取文本长度 (局_商品价格) - 1)
保存日志2 (时间_到文本 (取现行时间 (), 1) + “ ” 局_Cookie + “----” 局_商品名称 + “----” + 优化价格)
局_bin = 文转图片P (局_商品名称 + “ ” + #换行符 + 时间_格式化 (取现行时间 (), “yyyy年MM月dd日”, “ hh:mm:ss”, 真) + #换行符 + “兑换账号:” + “(” + 局_昵称 + “)”)
写到文件_ (全PIC + “\” + 局_昵称 + “_” + 局_商品名称 + “.png”, 局_bin)
全快速锁.退出写锁 ()
.子程序 Getcsrf_token222, 文本型
.参数 参_Cookie, 文本型
.局部变量 局_文本, 文本型
.局部变量 局_CCK, 文本型
.局部变量 局_F, 文本型, , "0"
.局部变量 str, 文本型
.局部变量 返回CK, 文本型
.局部变量 csrf_token, 文本型
局_CCK 参_Cookie
str = 到文本 (网页_访问_对象 (“https://www.douyu.com/japi/carnival/nc/common/generateCsrf”, 1, , 局_CCK, 返回CK, ))
csrf_token 文本_取出中间文本 (返回CK, “cvl_csrf_token=”, “;”)
返回 (csrf_token)
.子程序 _开通精英宝典30_被选择
启动线程 (&子程序精英宝典30, , )
.子程序 子程序精英宝典30
.局部变量 局_Cookie, 文本型
.局部变量 yyuid, 文本型
.局部变量 局_连接ID, 整数型
.局部变量 err0, 文本型
.局部变量 basestr, 文本型
.局部变量 返回jsonstr, 文本型
.局部变量 JSON, 类_json
.局部变量 返回充值ID, 文本型
.局部变量 返回文本, 文本型
.局部变量 返回付款码, 文本型
.局部变量 局_充值id, 文本型
.局部变量 JCE, 类_JCE解包
.局部变量 buff, 字节集
.局部变量 返回buff, 字节集
.局部变量 openapi, 文本型
.局部变量 返回IP, 文本型
.局部变量 返回端口, 整数型
.局部变量 i, 整数型
.局部变量 D理类型, 整数型
局_充值id = 超级列表框1.取标题 (超级列表框1.现行选中项, 6)
局_Cookie = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
.如果真 (取文本长度 (yyuid) ≠ 13)
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
.如果真结束
.计次循环首 (10, i)
.如果 (选择框_D理.选中 = 真)
D理类型 2
GetIP (返回IP, 返回端口)
.否则
D理类型 0
.如果结束
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
局_连接ID wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
.如果 (局_连接ID 0)
跳出循环 ()
.否则
窗口_置状态信息 (超级列表框1.现行选中项, 1, “代理失败,正在重连...”)
.如果结束
系统_处理事件 ()
.计次循环尾 ()
.如果真 (局_连接ID 0)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss连接失败”)
返回 ()
.如果真结束
' basestr 小黄车操作 (1,"", yyuid, 局_Cookie, “”)
.' 如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) 假)
' 超级列表框1.置标题 (超级列表框1.现行选中项, 4, “wss发送失败”)
' 返回 ()
.如果真结束
.' 如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) 假)
' 窗口_置状态信息 (超级列表框1.现行选中项, 1, “buff解析失败”)
' 返回 ()
.如果真结束
' 调试输出 (decodeBuff (返回buff))
' buff decodeBuff2 (返回buff)
' JCE.set (buff)
' 局_充值码 UTF8到文本 (JCE.get (“0.1”))
' 这个 如果存在充值码可以取消
.如果真 (局_充值id ≠ “”)
WS发送bin (局_连接ID, 编码_BASE64解码 (小黄车操作 (5, “”, yyuid, 局_Cookie, 局_充值id))) ' ’发送前先取消已有得订单
哈希取出数据指针_buff解析 (局_连接ID, 返回buff)
程序_延时 (1000)
.' 如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) 假)
' 超级列表框1.置标题 (超级列表框1.现行选中项, 4, “wss取数据指针失败”)
' 返回 ()
.如果真结束
' 调试输出 (“decodeBuff----00000”, decodeBuff (返回buff))
' [0]┓
' [0](Short):200
' [1](Str=0):
' [0(1)]┛
' [8](Short):5000
' [9](Map,0):
' [10](Map,0):
' [2](Zero):0
' [3](Str=0):
' [4](Zero):0
' [5](Zero):0
' [6](Str=0):
.如果真结束
basestr 小黄车操作 (2, “”, yyuid, 局_Cookie, “”)
' 调试输出 (yyuid, 局_Cookie, , basestr)
' '调试输出 (“basestr---”, basestr)
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) 假)
wss_断开某个连接 (局_连接ID, 真)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss发送失败”)
返回 ()
.如果真结束
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) 假)
wss_断开某个连接 (局_连接ID, 真)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss取数据指针失败”)
返回 ()
.如果真结束
' '调试输出 (1111)
' [0]┓
' [0](Short):200
' [1](Str=0):
' [2](Int):5791501
' [4](Int):4801401
' [5](Byte):10
' [0(1)]┛
' [8](Short):5000
' [9](Map,0):
' [10](Map,0):
' [2](Zero):0
' [3](Str=0):
' [4](Zero):0
' [5](Zero):0
' [6](Str=0):
调试输出 (“decodeBuff----11111”, decodeBuff (返回buff))
buff decodeBuff2 (返回buff)
JCE.set (buff)
返回文本 到文本 (JCE.getShort (“0.0”))
' 调试输出 (“返回文本----”, 返回文本)
.如果真 (返回文本 ≠ “200”)
返回文本 UTF8到文本 (JCE.get (“0.1”))
wss_断开某个连接 (局_连接ID, 真)
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回文本)
返回 ()
.如果真结束
返回充值ID 到文本 (JCE.get整数 (“0.2”))
.如果真 (返回充值ID = “0”)
wss_断开某个连接 (局_连接ID, 真)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “取充值id失败”)
返回 ()
.如果真结束
超级列表框1.置标题 (超级列表框1.现行选中项, 6, 返回充值ID)
程序_延时 (1000)
basestr 小黄车操作 (3, “”, yyuid, 局_Cookie, 返回充值ID)
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) 假)
wss_断开某个连接 (局_连接ID, 真)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “小黄车下单失败”)
返回 ()
.如果真结束
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) 假)
wss_断开某个连接 (局_连接ID, 真)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “buff解析失败”)
返回 ()
.如果真结束
' 0]┓
' [0](Short):200
' [1](Str=0):
' [2](Zero):0
' [3](Str=17):24120605162041289
' [4](Str=19):1038320843627569152
' [5](Str=37):weixin://wxpay/bizpayurl?pr=EHhmNCCz1
' [6](Short):3000
' [0(1)]┛
' [8](Short):5000
' [9](Map,0):
' [10](Map,0):
' [2](Zero):0
' [3](Str=0):
' [4](Zero):0
' [5](Zero):0
' [6](Str=0):
' 调试输出 (“decodeBuff----2222”, decodeBuff (返回buff))
buff decodeBuff2 (返回buff)
JCE.set (buff)
返回付款码 UTF8到文本 (JCE.get (“0.5”))
' 调试输出 (“返回付款码---”, 返回付款码)
.判断开始 (寻找文本 (返回付款码, “weixin://”, , 假) ≠ -1)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “精英宝典充值30,请用微信扫码...”)
图片框1.图片 = 文本生成二维码图片 (返回付款码, , , , , 10)
标签反馈.标题 = “精英宝典30充值-Weixin”
.判断 (寻找文本 (返回付款码, “openapi.alipay.com”, , 假) ≠ -1)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “精英宝典充值30,请用支付宝扫码...”)
openapi Zfb跳转二维码 (返回付款码)
' '调试输出 (“Zfb跳转二维码---”, openapi)
图片框1.图片 = 文本生成二维码图片 (openapi, , , , , 10)
标签反馈.标题 = “精英宝典30充值-Zfb”
.默认
窗口_置状态信息 (超级列表框1.现行选中项, 1, “精英宝典30,取二维码失败”)
.判断结束
wss_断开某个连接 (局_连接ID, 真)
' basestr 小黄车操作 (4,"", yyuid, 局_Cookie, 返回充值ID)
.' 如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) 假)
' 超级列表框1.置标题 (超级列表框1.现行选中项, 4, “小黄车下单失败”)
' 返回 ()
.如果真结束
.' 如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) 假)
' 超级列表框1.置标题 (超级列表框1.现行选中项, 4, “buff解析失败”)
' 返回 ()
.如果真结束
' ' 调试输出 (“decodeBuff----3333”, decodeBuff (返回buff))
' [0]┓
' [0](Short):200
' [1](Str=0):
' [2]┓
' [0]┓
' [0](Zero):0
' [1](Str=0):
' [2](Str=0):
' [3](Str=0):
' [4](Str=0):
' [5](Zero):0
' [6](Str=0):
' [7](Zero):0
' [0(1)]┛
' [1]┓
' [0](Int):5790642
' [1](Zero):0
' [2](Str=0):
' [3](Byte):10
' [4](Str=0):
' [5](Str=66):https://electric-shop.yaoguo.com/shop/file/Tk6u0cthPgJxJCneJfU.jpg
' [6](Str=35):精英宝典【得300积分】12月
' [7](Short):3000
' [8](Byte):1
' [9](Str=2):[]
' [10](Zero):0
' [11](Short):3000
' [12](Str=0):
' [13](Long):1733433379035
' [14](Zero):0
' [15](Zero):0
' [16](Zero):0
' [17](Zero):0
' [18](Str=10):hy-1347501
' [19](Zero):0
' [20](Zero):0
' [21](Int):87401
' [22](Zero):0
' [23](Zero):0
' [24](Zero):0
' [25](Zero):0
' [26](Byte):5
' [27](Byte):6
' [28](Byte):1
' [29](Int):4800542
' [30](Int):1171601
' [31](Str=0):
' [32](Long):1199648947730
' [33](Byte):4
' [34](Str=0):
' [0(1)]┛
' [2](Str=34):还剩23小时59分钟取消订单
' [4]┓
' [0](Str=12):和平精英
' [1](Str=0):
' [2](Str=0):
' [6](Byte):4
' [8](Zero):0
' [9](Str=0):
' [10](Short):9906
' [11](Str=0):
' [12](Str=0):
' [13](Short):3203
' [0(1)]┛
' [5](Str=0):
' [6]┓
' [0](Int):1347501
' [1](Str=0):
' [0(1)]┛
' [0(1)]┛
' [0(1)]┛
' [8](Short):5000
' [9](Map,0):
' [10](Map,0):
' [2](Zero):0
' [3](Str=0):
' [4](Zero):0
' [5](Zero):0
' [6](Str=0):
.子程序 _按钮_添加商品到列表_被单击
启动线程 (&商品加列表, , )
.子程序 商品加列表
.局部变量 局_商品名, 文本型
局_商品名 = 组合框1.取项目文本 (组合框1.现行选中项)
超级列表框1.置标题 (超级列表框1.现行选中项, 4, 局_商品名)
.子程序 _按钮_刷新商品_被单击
.如果真 (全直播间id “”)
提示框 (“请先设置直播间商品id,再来操作”)
返回 ()
.如果真结束
启动线程 (&商品列表, , )
.子程序 商品列表
.局部变量 局_Cookie, 文本型
.局部变量 yyuid, 文本型
.局部变量 局_连接ID, 整数型
.局部变量 err0, 文本型
.局部变量 返回buff, 字节集
.局部变量 JCE, 类_JCE解包
.局部变量 buff, 字节集
.局部变量 局_商品名称, 文本型
.局部变量 局_商品价格, 文本型
.局部变量 局_商品剩余, 文本型
.局部变量 arr0, 文本型, , "0"
.局部变量 p, 整数型
.局部变量 局_商品id, 文本型
.局部变量 type, 字节型
.局部变量 listnum, 整数型
.局部变量 返回IP, 文本型
.局部变量 返回端口, 整数型
.局部变量 i, 整数型
.局部变量 D理类型, 整数型
.局部变量 bool, 逻辑型
局_Cookie = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
.如果真 (局_Cookie “”)
提示框 (“请再左边列表选择一条数据”)
返回 ()
.如果真结束
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
.如果真 (取文本长度 (yyuid) ≠ 13)
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
.如果真结束
.计次循环首 (10, i)
.如果 (选择框_D理.选中 = 真)
D理类型 2
GetIP (返回IP, 返回端口)
.否则
D理类型 0
.如果结束
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
局_连接ID wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
.如果 (局_连接ID 0)
跳出循环 ()
.否则
窗口_置状态信息 (超级列表框1.现行选中项, 1, “代理失败,正在重连...”)
.如果结束
系统_处理事件 ()
.计次循环尾 ()
.如果真 (局_连接ID 0)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss连接失败”)
返回 ()
.如果真结束
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (生成查询商品剩余 (yyuid, 局_Cookie, #常量sid))) 假)
提示框 (“wss发送失败!”)
返回 ()
.如果真结束
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) 假)
提示框 (“buff解析失败!”)
返回 ()
.如果真结束
组合框1.清空 ()
buff decodeBuff2 (返回buff)
JCE.set (buff)
listnum JCE.getLength (“0.2”)
.计次循环首 (listnum, p)
局_商品id 到文本 (JCE.getShort (“0.2.0(” 到文本 (p 1) “).0”))
局_商品名称 UTF8到文本 (JCE.get (“0.2.0(” 到文本 (p 1) “).2”))
局_商品剩余 UTF8到文本 (JCE.get (“0.2.0(” 到文本 (p 1) “).12”))
JCE.get (“0.2.0(” 到文本 (p 1) “).13”, type)
.如果 (type 1)
局_商品价格 到文本 (JCE.getShort (“0.2.0(” 到文本 (p 1) “).13”))
.否则
局_商品价格 到文本 (JCE.getByte (“0.2.0(” 到文本 (p 1) “).13”))
.如果结束
.如果真 (局_商品名称 ≠ “”)
组合框1.插入项目 (p - 1, 局_商品名称 + “一” + 局_商品价格 + “一” + 局_商品id + “一” + 局_商品剩余 + “%”, )
.如果真结束
系统_处理事件 ()
.计次循环尾 ()
组合框1.现行选中项 0
arr0 = 分割文本 (组合框1.取项目文本 (组合框1.现行选中项), “一”, )
.如果真 (取数组成员数 (arr0) 4)
编辑框_剩余量.内容 = “NULL”
返回 ()
.如果真结束
编辑框_剩余量.内容 arr0 [4]
wss_断开某个连接 (局_连接ID, 真)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “刷新商品完成”)
.子程序 _组合框1_列表项被选择
.局部变量 当前项目, 文本型
.局部变量 _F, 文本型, , "0"
当前项目 = 组合框1.取项目文本 (组合框1.现行选中项)
_F = 分割文本 (当前项目, “一”, )
.如果真 (取数组成员数 (_F) < 4)
编辑框_剩余量.内容 = “NULL”
返回 ()
.如果真结束
编辑框_剩余量.内容 = _F [4]
.子程序 _一键查询兑换记录_被选择
.局部变量 p, 整数型
.计次循环首 (超级列表框1.取表项数 (), p)
.如果真 (超级列表框1.取当前状态图片 (p - 1) = 1)
启动线程 (&商品兑换记录, p 1, )
程序_延时 (100)
.如果真结束
.计次循环尾 ()
.子程序 商品兑换记录
.参数 索引EX, 整数型
.局部变量 局_Cookie, 文本型
.局部变量 yyuid, 文本型
.局部变量 str, 文本型
.局部变量 局_连接ID, 整数型
.局部变量 err0, 文本型
.局部变量 basestr, 文本型
.局部变量 返回jsonstr, 文本型
.局部变量 返回buff, 字节集
.局部变量 buff, 字节集
.局部变量 JCE, 类_JCE解包
.局部变量 p, 整数型
.局部变量 listnum, 整数型
.局部变量 局_记录商品名, 文本型
.局部变量 arr0, 文本型, , "0"
.局部变量 合并str, 文本型
.局部变量 返回IP, 文本型
.局部变量 返回端口, 整数型
.局部变量 i, 整数型
.局部变量 D理类型, 整数型
全读写锁.读进入 ()
局_Cookie 超级列表框1.取标题 (索引EX, 1)
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
.如果真 (取文本长度 (yyuid) ≠ 13)
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
.如果真结束
全读写锁.读退出 ()
.计次循环首 (10, i)
.如果 (选择框_D理.选中 = 真)
D理类型 2
GetIP (返回IP, 返回端口)
.否则
D理类型 0
.如果结束
窗口_置状态信息 (索引EX, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
局_连接ID wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
.如果 (局_连接ID 0)
跳出循环 ()
.否则
窗口_置状态信息 (索引EX, 1, “代理失败,正在重连...”)
.如果结束
系统_处理事件 ()
.计次循环尾 ()
.如果真 (局_连接ID 0)
窗口_置状态信息 (索引EX, 1, “wss连接失败”)
返回 ()
.如果真结束
basestr 生成查询兑换记录 (yyuid, 局_Cookie, #常量sid)
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) 假)
窗口_置状态信息 (索引EX, 1, “wss发送消息失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) 假)
窗口_置状态信息 (索引EX, 1, “buff解析失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
' 调试输出 (decodeBuff (返回buff))
buff decodeBuff2 (返回buff)
JCE.set (buff)
listnum JCE.getLength (“0.2”)
.计次循环首 (listnum, p)
局_记录商品名 UTF8到文本 (JCE.get (“0.2.0(” 到文本 (p 1) “).1”))
加入成员 (arr0, 局_记录商品名)
系统_处理事件 ()
.计次循环尾 ()
合并str 数组_合并_快速 (arr0, “,”)
窗口_置状态信息 (索引EX, 1, “兑换数量:*” + 到文本 (取数组成员数 (arr0)) + “,” 合并str)
wss_断开某个连接 (局_连接ID, 真)
.子程序 保存兑换记录
.参数 参_str, 文本型
.局部变量 filename, 文本型
.局部变量 保存到文件, 鱼刺类_输出文本
filename 时间_格式化 (取现行时间 (), “MM.dd-”) + “兑换记录”
保存到文件.写文本行 (参_str, filename, 取运行目录 () “\”, “.txt”)
.子程序 _按钮_查询直播间id_被单击
.局部变量 str, 文本型
.局部变量 pid, 文本型
' str 编码_Utf8到Ansi (网页_访问_对象 (“https://www.huya.com/” ))
' pid 文本_取出中间文本 (str, “data-lp=” #引号, #引号)
.' 如果 (pid ≠ “” 且 pid ≠ “0”)
' 全直播间id pid
' 状态条1.置文本 (1, “当前直播间id:” + pid)
' 提示框 (“获取当前直播间id成功:” + pid)
.否则
' 提示框 (“获取直播间id失败!”)
.如果结束
.子程序 _按钮_设置商品pid_被单击
.如果真 (编辑框_直播间商品pid.内容 = “”)
提示框 (“请填写当前直播间商品pid”)
返回 ()
.如果真结束
全直播间id = 删全部空 (编辑框_直播间商品pid.内容)
状态条1.置文本 (1, “当前直播间商品pid:” + 全直播间id)
提示框 (“设置当前直播间商品pid成功:” + 全直播间id)
.子程序 _查询当前数据领取记录_被选择
启动线程 (&领取记录, , )
.子程序 领取记录
.局部变量 局_Cookie, 文本型
.局部变量 yyuid, 文本型
.局部变量 局_昵称, 文本型
.局部变量 局_商品txt, 文本型
.局部变量 _F, 文本型, , "0"
.局部变量 局_连接ID, 长整数型
.局部变量 err0, 文本型
.局部变量 basestr, 文本型
.局部变量 返回buff, 字节集
.局部变量 buff, 字节集
.局部变量 JCE, 类_JCE解包
.局部变量 listnum, 整数型
.局部变量 p, 整数型
.局部变量 局_领取记录, 文本型
.局部变量 arr0, 文本型, , "0"
.局部变量 合并str, 文本型
.局部变量 合并str2, 文本型
.局部变量 返回IP, 文本型
.局部变量 返回端口, 整数型
.局部变量 i, 整数型
.局部变量 D理类型, 整数型
局_Cookie = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
.如果真 (取文本长度 (yyuid) ≠ 13)
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
.如果真结束
.计次循环首 (10, i)
.如果 (选择框_D理.选中 = 真)
D理类型 2
GetIP (返回IP, 返回端口)
.否则
D理类型 0
.如果结束
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
局_连接ID wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
.如果 (局_连接ID 0)
跳出循环 ()
.否则
窗口_置状态信息 (超级列表框1.现行选中项, 1, “代理失败,正在重连...”)
.如果结束
系统_处理事件 ()
.计次循环尾 ()
.如果真 (局_连接ID 0)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss连接失败”)
返回 ()
.如果真结束
basestr 生成查询领取记录 (yyuid, 局_Cookie)
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) 假)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss发送消息失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) 假)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “buff解析失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
buff decodeBuff2 (返回buff)
JCE.set (buff)
listnum JCE.getLength (“0.2”)
.计次循环首 (listnum, p)
局_领取记录 UTF8到文本 (JCE.get (“0.2.0(” 到文本 (p 1) “).3”))
.如果真 (寻找文本 (局_领取记录, “积分”, , 假) = -1)
加入成员 (arr0, 局_领取记录)
.如果真结束
系统_处理事件 ()
.计次循环尾 ()
wss_断开某个连接 (局_连接ID, 真)
合并str 数组_合并_快速 (arr0, #换行符)
合并str2 数组_合并_快速 (arr0, “,”)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “领取记录数量:*” + 到文本 (取数组成员数 (arr0)) + “,” 合并str2)
未闻花名_弹出提示 (窗口1, 合并str, 1, , , “领取记录:*” + 到文本 (取数组成员数 (arr0)), 10 × 1000, , , 超级列表框1.宽度 ÷ 3, , , , 真, 真, )
.子程序 _一键查询领取记录_被选择
.局部变量 p, 整数型
.计次循环首 (超级列表框1.取表项数 (), p)
.如果真 (超级列表框1.取当前状态图片 (p - 1) = 1)
启动线程 (&领取商品记录, p 1, )
程序_延时 (100)
.如果真结束
.计次循环尾 ()
.子程序 领取商品记录
.参数 索引EX, 整数型
.局部变量 局_Cookie, 文本型
.局部变量 yyuid, 文本型
.局部变量 str, 文本型
.局部变量 局_连接ID, 整数型
.局部变量 err0, 文本型
.局部变量 basestr, 文本型
.局部变量 返回jsonstr, 文本型
.局部变量 返回buff, 字节集
.局部变量 buff, 字节集
.局部变量 JCE, 类_JCE解包
.局部变量 p, 整数型
.局部变量 listnum, 整数型
.局部变量 局_记录商品名, 文本型
.局部变量 arr0, 文本型, , "0"
.局部变量 合并str, 文本型
.局部变量 局_领取记录, 文本型
.局部变量 返回IP, 文本型
.局部变量 返回端口, 整数型
.局部变量 i, 整数型
.局部变量 D理类型, 整数型
全读写锁.读进入 ()
局_Cookie 超级列表框1.取标题 (索引EX, 1)
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
.如果真 (取文本长度 (yyuid) ≠ 13)
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
.如果真结束
全读写锁.读退出 ()
.计次循环首 (10, i)
.如果 (选择框_D理.选中 = 真)
D理类型 2
GetIP (返回IP, 返回端口)
.否则
D理类型 0
.如果结束
窗口_置状态信息 (索引EX, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
局_连接ID wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
.如果 (局_连接ID 0)
跳出循环 ()
.否则
窗口_置状态信息 (索引EX, 1, “代理失败,正在重连...”)
.如果结束
系统_处理事件 ()
.计次循环尾 ()
.如果真 (局_连接ID 0)
窗口_置状态信息 (索引EX, 1, “wss连接失败”)
返回 ()
.如果真结束
basestr 生成查询领取记录 (yyuid, 局_Cookie)
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) 假)
窗口_置状态信息 (索引EX, 1, “wss发送消息失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) 假)
窗口_置状态信息 (索引EX, 1, “buff解析失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
buff decodeBuff2 (返回buff)
JCE.set (buff)
listnum JCE.getLength (“0.2”)
.计次循环首 (listnum, p)
局_领取记录 UTF8到文本 (JCE.get (“0.2.0(” 到文本 (p 1) “).3”))
.如果真 (寻找文本 (局_领取记录, “积分”, , 假) = -1)
加入成员 (arr0, 局_领取记录)
.如果真结束
系统_处理事件 ()
.计次循环尾 ()
wss_断开某个连接 (局_连接ID, 真)
合并str 数组_合并_快速 (arr0, “,”)
窗口_置状态信息 (索引EX, 1, “领取记录数量:*” + 到文本 (取数组成员数 (arr0)) + “,” 合并str)
.子程序 _按钮1_被单击
.局部变量 buf, 字节集
' 调试输出 (decodeBuff (编码_BASE64解码 (“CAACBgAdAAABDAYEdFJzcB0AAD8KAv/88r8WNuivpei0puWPt+acquWIsOWPr+aNoue7keaXtumXtO+8jOivt+S9v+eUqOWFtuS7lui0puWPtws=”)))
.子程序 _确认绑定账号_被选择
启动线程 (&确认绑定账号, , )
.子程序 确认绑定账号
.参数 索引EX, 整数型
.局部变量 局_Cookie, 文本型
.局部变量 yyuid, 文本型
.局部变量 str, 文本型
.局部变量 局_连接ID, 整数型
.局部变量 err0, 文本型
.局部变量 basestr, 文本型
.局部变量 返回jsonstr, 文本型
.局部变量 返回buff, 字节集
.局部变量 buff, 字节集
.局部变量 JCE, 类_JCE解包
.局部变量 p, 整数型
.局部变量 listnum, 整数型
.局部变量 局_记录商品名, 文本型
.局部变量 arr0, 文本型, , "0"
.局部变量 合并str, 文本型
.局部变量 局_领取记录, 文本型
.局部变量 存取表, , , , <!!!>
.局部变量 jsonstr, 文本型
.局部变量 jyjson, 类_json
.局部变量 局_状态s, 文本型
.局部变量 返回文本, 文本型
.局部变量 返回IP, 文本型
.局部变量 返回端口, 整数型
.局部变量 i, 整数型
.局部变量 D理类型, 整数型
局_Cookie = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
.如果真 (取文本长度 (yyuid) ≠ 13)
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
.如果真结束
.计次循环首 (10, i)
.如果 (选择框_D理.选中 = 真)
D理类型 2
GetIP (返回IP, 返回端口)
.否则
D理类型 0
.如果结束
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
局_连接ID wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
.如果 (局_连接ID 0)
跳出循环 ()
.否则
窗口_置状态信息 (超级列表框1.现行选中项, 1, “代理失败,正在重连...”)
.如果结束
系统_处理事件 ()
.计次循环尾 ()
.如果真 (局_连接ID 0)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss连接失败”)
返回 ()
.如果真结束
basestr 生成确认绑定 (yyuid, 局_Cookie)
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) 假)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss发送消息失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) 假)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “buff解析失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
' 失败1 [0](Byte):4
' [1](SimpleList=137):00 00 00 89 10 03 2C 3C 40 01 56 08 77 65 62 41 63 74 55 49 66 15 63 6F 6E 66 69 72 6D 42 69 6E 64 41 63 74 41 63 63 6F 75 6E 74 7D 00 00 53 08 00 02 06 00 1D 00 00 01 0C 06 04 74 52 73 70 1D 00 00 3F 0A 02 FF FC F2 BF 16 36 E8 AF A5 E8 B4 A6 E5 8F B7 E6 9C AA E5 88 B0 E5 8F AF E6 8D A2 E7 BB 91 E6 97 B6 E9 97 B4 EF BC 8C E8 AF B7 E4 BD BF E7 94 A8 E5 85 B6 E4 BB 96 E8 B4 A6 E5 8F B7 0B 81 13 88 98 0C A8 0C
' [2](Zero):0
' [3](Str=0):
' [4](Zero):0
' [5](Zero):0
' [6](Str=0):
' ==========================================
' 失败2:“
' [0]┓
' [0](Short):-4002
' [1](Str=15):未绑定账号
' [0(1)]┛
' [8](Short):5000
' [9](Map,0):
' [10](Map,0):
' [2](Zero):0
' [3](Str=18):ffbe71a01148094128
' [4](Zero):0
' [5](Zero):0
' [6](Str=0):
' ==========================================
' 成功:[0]┓
' [0](Short):200
' [1](Str=0):
' [0(1)]┛
' [8](Short):5000
' [9](Map,0):
' [10](Map,0):
' [2](Zero):0
' [3](Str=0):
' [4](Zero):0
' [5](Zero):0
' [6](Str=0):
' '调试输出 (decodeBuff (返回buff))
buff decodeBuff2 (返回buff)
JCE.set (buff)
返回文本 到文本 (JCE.getShort (“0.0”))
.如果真 (返回文本 = “200”)
wss_断开某个连接 (局_连接ID, 真)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “确认绑定成功”)
返回 ()
.如果真结束
.如果真 (返回文本 = “-4002”)
wss_断开某个连接 (局_连接ID, 真)
窗口_置状态信息 (超级列表框1.现行选中项, 1, “未绑定账号”)
返回 ()
.如果真结束
虎牙解析 (JCE.get (“1”), 存取表)
jsonstr ??? () ' <!!!>
调试输出 (“jsonstr---”, jsonstr)
jyjson.清除 ()
jyjson.解析 (jsonstr)
局_状态s jyjson.取通用属性 (“['6.0.1']”)
窗口_置状态信息 (超级列表框1.现行选中项, 1, 局_状态s)
wss_断开某个连接 (局_连接ID, 真)
' {"6.0":"tRsp","0":"137","1":"3","2":"(Zero):0","3":"(Zero):0","4":"1","5":"webActUI","6.0.0":"-200001","6":"confirmBindActAccount","6.0.1":"该账号未到可换绑时间,请使用其他账号","8":"5000","9":"","10":""}
.子程序 _组合框_wss_列表项被选择
全wss_url 选择 (组合框_wss.现行选中项 0, #常量wssurl, #常量wssurl2)
' 调试输出 (全wss_url)
.子程序 _一键查询换绑时间_被选择
.局部变量 p, 整数型
.计次循环首 (超级列表框1.取表项数 (), p)
.如果真 (超级列表框1.取当前状态图片 (p - 1) = 1)
启动线程 (&查询换绑时间, p 1, )
程序_延时 (10)
.如果真结束
.计次循环尾 ()
.子程序 查询换绑时间
.参数 索引EX, 整数型
.局部变量 局_Cookie, 文本型
.局部变量 yyuid, 文本型
.局部变量 str, 文本型
.局部变量 局_连接ID, 整数型
.局部变量 err0, 文本型
.局部变量 basestr, 文本型
.局部变量 返回数据指针, 长整数型
.局部变量 返回name, 文本型
.局部变量 bool, 逻辑型
.局部变量 返回jsonstr, 文本型
.局部变量 JSON, 类_json
.局部变量 返回buff, 字节集
.局部变量 buff, 字节集
.局部变量 JCE, 类_JCE解包
.局部变量 返回IP, 文本型
.局部变量 返回端口, 整数型
.局部变量 i, 整数型
.局部变量 D理类型, 整数型
.局部变量 局_换绑时间, 文本型
全读写锁.读进入 ()
局_Cookie 超级列表框1.取标题 (索引EX, 1)
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
.如果真 (取文本长度 (yyuid) ≠ 13)
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
.如果真结束
全读写锁.读退出 ()
.计次循环首 (10, i)
.如果 (选择框_D理.选中 = 真)
D理类型 2
GetIP (返回IP, 返回端口)
.否则
D理类型 0
.如果结束
窗口_置状态信息 (索引EX, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
局_连接ID wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
.如果 (局_连接ID 0)
跳出循环 ()
.否则
窗口_置状态信息 (索引EX, 1, “代理失败,正在重连...”)
.如果结束
系统_处理事件 ()
.计次循环尾 ()
.如果真 (局_连接ID 0)
窗口_置状态信息 (索引EX, 1, “wss连接失败”)
返回 ()
.如果真结束
basestr 生成查询游戏名 (yyuid, 局_Cookie, “9504”)
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) 假)
窗口_置状态信息 (索引EX, 1, “wss发送消息失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) 假)
窗口_置状态信息 (索引EX, 1, “buff解析失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
' 调试输出 (取程序名称 (1), decodeBuff (返回buff))
buff decodeBuff2 (返回buff)
JCE.set (buff)
.如果真 (JCE.getShort (“0.0”) ≠ 200)
窗口_置状态信息 (索引EX, 1, “查询昵称失败”)
wss_断开某个连接 (局_连接ID, 真)
返回 ()
.如果真结束
返回name UTF8到文本 (JCE.get (“0.2.4.1”))
.如果 (返回name ≠ “”)
局_换绑时间 = 时间_时间戳转文本 (到文本 (JCE.getInt (“0.2.5”)))
窗口_置信息2 (索引EX, 1, 返回name)
窗口_置状态信息 (索引EX, 1, “换绑时间:” + 局_换绑时间)
.否则
窗口_置信息2 (索引EX, 1, “NULL”)
窗口_置状态信息 (索引EX, 1, “操作完成”)
.如果结束
wss_断开某个连接 (局_连接ID, 真)