diff --git a/e语言/登录/e 语言登录.txt b/e语言/douyu/登录/e 语言登录.txt similarity index 100% rename from e语言/登录/e 语言登录.txt rename to e语言/douyu/登录/e 语言登录.txt diff --git a/e语言/登录/e 语言登录2.txt b/e语言/douyu/登录/e 语言登录2.txt similarity index 100% rename from e语言/登录/e 语言登录2.txt rename to e语言/douyu/登录/e 语言登录2.txt diff --git a/e语言/皮肤与充值/e 皮肤兑换与充值.txt b/e语言/douyu/皮肤与充值/e 皮肤兑换与充值.txt similarity index 100% rename from e语言/皮肤与充值/e 皮肤兑换与充值.txt rename to e语言/douyu/皮肤与充值/e 皮肤兑换与充值.txt diff --git a/e语言/huya/登录/手机操作.txt b/e语言/huya/登录/手机操作.txt new file mode 100644 index 0000000..2083b8e --- /dev/null +++ b/e语言/huya/登录/手机操作.txt @@ -0,0 +1,89 @@ +.版本 2 +.支持库 spec + +.程序集 手机操作 + +.子程序 取手机, 逻辑型, 公开, operator: 0=默认 1=移动 2=联通 3=电信 4=实卡 5=虚卡 +.参数 参_项目id, 文本型 +.参数 返回手机, 文本型, 参考 +.局部变量 str, 文本型 +.局部变量 yyjson, json对象 +.局部变量 token, 文本型 +.局部变量 局_号码, 文本型 + +str = 编码_Utf8到Ansi (网页_访问_对象 (“http://api.haozhuma.com/sms/?api=getPhone&token=” + 全登录token + “&sid=” + 参_项目id)) +调试输出 (“取手机--”, str) +yyjson.清空 () +yyjson.解析 (str) +局_号码 = yyjson.取文本 (“phone”) +.如果真 (局_号码 ≠ “”) + 返回手机 = 局_号码 + 返回 (真) +.如果真结束 + +返回手机 = str +返回 (假) + +.子程序 取短信, 逻辑型, 公开 +.参数 参_项目id, 文本型 +.参数 参_手机, 文本型 +.参数 返回短信, 文本型, 参考 +.局部变量 str, 文本型 +.局部变量 yyjson, json对象 +.局部变量 token, 文本型 +.局部变量 局_号码, 文本型 +.局部变量 局_message, 文本型 + +str = 编码_Utf8到Ansi (网页_访问_对象 (“http://api.haozhuma.com/sms/?api=getMessage&token=” + 全登录token + “&sid=” + 参_项目id + “&phone=” + 参_手机)) +调试输出 (“取短信---”, str) +yyjson.清空 () +yyjson.解析 (str) +局_message = yyjson.取文本 (“yzm”) +.如果真 (局_message ≠ “”) + 返回短信 = 局_message + 返回 (真) +.如果真结束 + +返回短信 = str +返回 (假) + +.子程序 取指定手机, 逻辑型, 公开 +.参数 参_项目id, 文本型 +.参数 参_指定手机, 文本型 +.局部变量 str, 文本型 +.局部变量 yyjson, json对象 +.局部变量 token, 文本型 +.局部变量 局_号码, 文本型 + +str = 编码_Utf8到Ansi (网页_访问_对象 (“http://” + #椰子host + “/api/get_mobile?token=” + 全登录token + “&project_id=” + 参_项目id + “&phone_num=” + 参_指定手机, , , )) +' 调试输出 (“取指定手机--”, str) +yyjson.清空 () +yyjson.解析 (str) +局_号码 = yyjson.取文本 (“mobile”) +.如果真 (局_号码 ≠ “”) + 返回 (真) +.如果真结束 + +返回 (假) + +.子程序 拉黑号码, 逻辑型, 公开 +.参数 参_项目id, 文本型 +.参数 参_拉黑号码, 文本型 +.局部变量 str, 文本型 +.局部变量 yyjson, json对象 +.局部变量 token, 文本型 +.局部变量 局_state, 文本型 + +str = 编码_Utf8到Ansi (网页_访问_对象 (“http://api.haozhuma.com/sms/?api=addBlacklist&token=” + 全登录token + “&sid=” + 参_项目id + “&phone=” + 参_拉黑号码)) +' 调试输出 (“取指定手机--”, str) +yyjson.清空 () +yyjson.解析 (str) +局_state = yyjson.取文本 (“message”) +.如果真 (局_state = “OK”) + 返回 (真) +.如果真结束 + +返回 (假) + + + diff --git a/e语言/huya/登录/窗口 1.txt b/e语言/huya/登录/窗口 1.txt new file mode 100644 index 0000000..fe566e6 --- /dev/null +++ b/e语言/huya/登录/窗口 1.txt @@ -0,0 +1,348 @@ +.版本 2 +.支持库 edroptarget +.支持库 EThread +.支持库 spec +.支持库 iext + +.程序集 窗口程序集_窗口1 +.程序集变量 工作线程池EX, 鱼刺类_线程池Ex +.程序集变量 工作中, 逻辑型 +.程序集变量 导出存放id, 文本型 + +.子程序 _窗口1_创建完毕 +.局部变量 Test, 文本型 + +加载皮肤 (18) +.如果真 (文件是否存在 (取运行目录 () + “\RSCProject.dll”) = 假) + .如果真 (取反 (写到文件 (取运行目录 () + “\RSCProject.dll”, #RSCProjectDLL))) + 提示框 (“文件写出失败!!!”) + 返回 () + .如果真结束 + +.如果真结束 + + + +Test = 取运行目录 () + “\huya\” +全目录临时 = Test + “临时” +全目录状态 = Test + “状态” +全目录导出 = Test + “导出” +.如果真 (文件是否存在 (Test) = 假) + 目录_创建 (Test) +.如果真结束 +.如果真 (文件是否存在 (全目录临时) = 假) + 目录_创建 (全目录临时) +.如果真结束 +.如果真 (文件是否存在 (全目录状态) = 假) + 目录_创建 (全目录状态) +.如果真结束 +.如果真 (文件是否存在 (全目录导出) = 假) + 目录_创建 (全目录导出) +.如果真结束 + +配置_读取_易语言组件 (窗口1) +写入列表 () +??? () ' +拖放对象1.注册拖放控件 (超表_状态.取窗口句柄 ()) + +.子程序 _按钮_登录平台_被单击 + +启动线程 (&子程序登录平台, , ) + +.子程序 子程序登录平台, , , http://api.sqhyw.net:90 +.局部变量 str, 文本型 +.局部变量 yyjson, json对象 +.局部变量 token, 文本型 + +str = 编码_Utf8到Ansi (网页_访问_对象 (“https://api.haozhuma.com/sms/?api=login&user=” + 删首尾空 (编辑框_user.内容) + “&pass=” + 删首尾空 (编辑框_pass.内容), , , )) +调试输出 (str) +yyjson.清空 () +yyjson.解析 (str) +token = yyjson.取文本 (“token”) +.如果真 (token ≠ “”) + 全登录token = token + 提示框 (“登录成功”, , , , 1000) + 返回 () +.如果真结束 + +提示框 (“失败:” + str) + +.子程序 _按钮_启动_被单击 + +.如果真 (全登录token = “” 且 组合框_功能.现行选中项 = 0) + 提示框 (“请先登录平台,再操作...”) + 返回 () +.如果真结束 + + +.判断开始 (按钮_启动.标题 = “启动”) + 按钮_启动.禁止 = 真 + .如果真 (线程_创建 (&工作线程) = 假) + 按钮_启动.禁止 = 假 + 返回 () + .如果真结束 + +.判断 (按钮_启动.标题 = “停止”) + 按钮_启动.禁止 = 真 + 按钮_启动.标题 = “停止中...” + 工作中 = 假 + 工作线程池EX.销毁 () + 返回 () +.默认 + +.判断结束 + + +.子程序 工作线程 +.局部变量 bool, 逻辑型 +.局部变量 int, 整数型 +.局部变量 P, 整数型 +.局部变量 任务数, 整数型 + +按钮_启动.标题 = “启动中...” +bool = 工作线程池EX.创建 (到整数 (删首尾空 (编辑框_工作线程.内容)), , , 真, , 1024 × 128) +.如果真 (bool = 假) + 提示框 (“初始化工作线程池失败!”) + 按钮_启动.标题 = “启动” + 按钮_启动.禁止 = 假 + 返回 () +.如果真结束 + +全成功数 = 0 +工作中 = 真 +按钮_启动.标题 = “停止” +按钮_启动.禁止 = 假 +.如果 (组合框_功能.现行选中项 = 0) + .判断循环首 (工作中 = 真) + .计次循环首 (到整数 (编辑框_工作线程.内容), ) + 工作线程池EX.投递任务 (&线程子程序) + 程序_延时 (到整数 (删首尾空 (编辑框_线程间隔.内容))) + .计次循环尾 () + 工作线程池EX.等待任务动态 () + .判断循环尾 () + +.否则 + .判断循环首 (工作中 = 真) + 任务数 = 工作线程池EX.取_执行线程数 () + 工作线程池EX.取_队列任务数 () + 任务数 = 工作线程池EX.取_最大线程容量 () - 任务数 + .如果 (任务数 > 0) + .如果真 (超表_状态.取当前状态图片 (int) = 1) + 工作线程池EX.投递任务 (&线程子程序, int) + 程序_延时 (到整数 (删首尾空 (编辑框_线程间隔.内容))) + .如果真结束 + + int = int + 1 + + .否则 + 程序_延时 (10) + .如果结束 + + .如果真 (int ≥ 超表_状态.取表项数 ()) + 跳出循环 () + .如果真结束 + + .判断循环尾 () + +.如果结束 + +.循环判断首 () + 程序_延时 (500) +.循环判断尾 (工作线程池EX.取_是否完全空闲 () = 假) +状态条1.置文本 (0, “正在销毁工作线程池....”) +工作线程池EX.销毁 () +按钮_启动.标题 = “启动” +按钮_启动.禁止 = 假 +状态条1.置文本 (0, “执行停止完毕!”) +提示框 (“执行停止完毕!”) + +.子程序 线程子程序 +.参数 索引E, 整数型 +.局部变量 返回手机, 文本型 +.局部变量 P, 整数型 +.局部变量 信息, 文本型 +.局部变量 返回短信, 文本型 +.局部变量 bool, 逻辑型 +.局部变量 局pass, 文本型 +.局部变量 局_context, 文本型 +.局部变量 返回sdid, 文本型 +.局部变量 返回requestId, 文本型 +.局部变量 返回authId, 文本型 +.局部变量 返回sessionData, 文本型 +.局部变量 bool2, 逻辑型 +.局部变量 局_pass, 文本型 +.局部变量 局_user, 文本型 +.局部变量 局_cook, 文本型 +.局部变量 返回Cookie, 文本型 + +.如果真 (工作中 = 假) + 返回 () +.如果真结束 + +.如果真 (组合框_功能.现行选中项 = 0) + .如果真 (全成功数 ≥ 到整数 (删首尾空 (编辑框_注册数量.内容))) + 工作中 = 假 + 返回 () + .如果真结束 + + .如果真 (取反 (取手机 (删首尾空 (编辑框_项目id.内容), 返回手机))) + 状态条1.置文本 (0, 返回手机) + 返回 () + .如果真结束 + + ' 局pass = 文本_取随机字母 (汇编_取随机数 (3, 5), 0) + 文本_取随机数字 (汇编_取随机数 (6, 8)) + + 全E锁.写进入 () + 索引E = 超表_状态.插入表项 (, , , , , ) + 超表_状态.置标题 (索引E, 0, 到文本 (索引E + 1)) + 超表_状态.置标题 (索引E, 1, 返回手机) + 超表_状态.保证显示 (索引E) + ' 超表_状态.置标题 (索引E, 2, 局pass) + 全E锁.写退出 () + + + 局_context = “WB-” + 生成guid () + “-” + 到大写 (生成guid ()) + “-” + 生成guid () + + 窗口_置表项状态 (索引E, “发送短信...”) + bool = hy注册_发送短信 (返回手机, 局_context, 返回sdid, 返回sessionData) + 窗口_置表项状态 (索引E, 返回sessionData) + ' ' 发送短信 + .如果真 (bool = 假) + ' 拉黑号码 (删首尾空 (编辑框_项目id.内容), 返回手机) + 返回 () + .如果真结束 + + .计次循环首 (60, P) + 窗口_置表项状态 (索引E, “取短信[” + 到文本 (P) + “]”) + bool = 取短信 (删首尾空 (编辑框_项目id.内容), 返回手机, 返回短信) + .如果真 (bool = 真) + 跳出循环 () + .如果真结束 + + 程序_延时 (1000) + .计次循环尾 () + .如果真 (取反 (bool)) + 窗口_置表项状态 (索引E, “取短信超时35s”) + ' 拉黑号码 (删首尾空 (编辑框_项目id.内容), 返回手机) + 返回 () + .如果真结束 + + 窗口_置表项状态 (索引E, “提交短信...”) + bool2 = hy提交_短信登录 (返回手机, 返回短信, 局_context, 返回sdid, 返回sessionData, 返回Cookie) + 窗口_置表项状态 (索引E, 返回Cookie) + .如果真 (bool2 = 真) + _原子递增 (全成功数) + 窗口_置CK (索引E, 返回Cookie + “----” + 返回手机, “注册成功”) + CK入库 (返回Cookie + “----” + 返回手机, “hy注册成功”, 全目录状态) + 返回 () + .如果真结束 + +.如果真结束 + + + +.子程序 _粘贴数据_被选择 + +T粘贴数据 (超表_状态) + +.子程序 _删除勾选_被选择 + +T删除勾选 (超表_状态) + +.子程序 _全选_被选择 + +T全选 (超表_状态) + +.子程序 _反选_被选择 + +T反选 (超表_状态) + +.子程序 _导出_被选择 + +启动线程 (&保存勾选, , ) + +.子程序 保存勾选 +.局部变量 导出到文件, 鱼刺类_输出文本 +.局部变量 j_str, 文本型 +.局部变量 开始时间, 整数型 +.局部变量 耗时, 整数型 +.局部变量 N, 整数型 +.局部变量 a1, 文本型 +.局部变量 a2, 文本型 +.局部变量 a3, 文本型 +.局部变量 a4, 文本型 +.局部变量 导出存放文件名, 文本型 +.局部变量 全目录导出, 文本型 + +开始时间 = 取启动时间 () +提示框 (“正在导出数据....”, , , , 1000) +.计次循环首 (超表_状态.取表项数 (), N) + 系统_处理事件 () + .如果真 (超表_状态.取当前状态图片 (N - 1) = 1) + 全E锁.读进入 () + a1 = 超表_状态.取标题 (N - 1, 1) + a2 = 超表_状态.取标题 (N - 1, 2) + a3 = 超表_状态.取标题 (N - 1, 3) + 全E锁.读退出 () + j_str = a1 + “----” + a2 + “----” + a3 + 导出到文件.写文本行 (j_str, “导出数据”, 取运行目录 () + “\”, “.txt”) + .如果真结束 + +.计次循环尾 () +导出到文件.关闭所有文件占用 () +提示框 (“导出完成”, , , , 2000) + +.子程序 _超表_状态_右键单击表项 + +弹出菜单 (菜单, , ) + +.子程序 _窗口1_将被销毁 + +配置_保存_易语言组件 (窗口1) +写出列表 () + +.子程序 _清空列表_被选择 + +超表_状态.全部删除 () + +.子程序 _勾选搜索列表_被选择 +.局部变量 局_存放, 文本型 + +载入 (窗口2, , 真) + +.子程序 GetIP, 文本型 +.局部变量 str, 文本型 +.局部变量 bool, 逻辑型 + +.如果真 (选择框_开启代理.选中 = 真) + .循环判断首 () + str = 编码_Utf8到Ansi (网页_访问_对象 (删首尾空 (编辑框_代理IP.内容))) + 状态条1.置文本 (0, “获取代理:” + str) + bool = 是否IP格式 (str) + 程序_延时 (300) + .循环判断尾 (取反 (bool)) + +.如果真结束 + +返回 (str) + +.子程序 是否IP格式, 逻辑型 +.参数 IP, 文本型 +.局部变量 正则, 正则表达式类 + +正则.创建 (“([1-9]\d{0,2}\.\d{1,3}\.\d{1,3}\.\d{1,3}):([1-9]\d{1,4})”, IP, , , , ) +返回 (正则.取匹配数量 () > 0) + +.子程序 _拖放对象1_得到文件 +.参数 接收到的文件路径, 文本型 +.局部变量 time, 整数型 + +窗口1.禁止 = 真 +状态条1.置文本 (0, “文件已拖入,正在导入列表...”) +超表_状态.可视 = 假 +超表_状态.禁止重画 () +超表_状态.表项 = { } +超表_状态.可视 = 真 +超表_状态.允许重画 () +超表导入文本 (超表_状态, 接收到的文件路径, , “----”, 位或 (1, 2, 3, 4), 假, time) +超表_状态.保证显示 (超表_状态.取表项数 () - 1) +窗口1.禁止 = 假 diff --git a/e语言/huya/登录/虎牙操作.txt b/e语言/huya/登录/虎牙操作.txt new file mode 100644 index 0000000..a1996c7 --- /dev/null +++ b/e语言/huya/登录/虎牙操作.txt @@ -0,0 +1,1519 @@ +.版本 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 +返回 (假) + diff --git a/e语言/huya/皮肤与充值/窗口 1.txt b/e语言/huya/皮肤与充值/窗口 1.txt new file mode 100644 index 0000000..6b42e47 --- /dev/null +++ b/e语言/huya/皮肤与充值/窗口 1.txt @@ -0,0 +1,2911 @@ +.版本 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, 真) diff --git a/e语言/huya/皮肤与充值/虎牙算法.txt b/e语言/huya/皮肤与充值/虎牙算法.txt new file mode 100644 index 0000000..b41c623 --- /dev/null +++ b/e语言/huya/皮肤与充值/虎牙算法.txt @@ -0,0 +1,270 @@ +.版本 2 +.支持库 spec + +.程序集 虎牙算法, , , 1199531882849 + +.子程序 生成查询领取记录, 文本型, , 12月份 moduleId = #常量moduleId +.参数 参_lUid, 文本型 +.参数 参_Cookie, 文本型 +.局部变量 value, 文本型 +.局部变量 v8, , , , + +??? () ' +value = ??? () ' +返回 (value) +' ''135249 + +.子程序 生成查询兑换记录, 文本型 +.参数 参_lUid, 文本型 +.参数 参_Cookie, 文本型 +.参数 参_sid, 文本型 +.局部变量 value, 文本型 +.局部变量 v8, , , , + +??? () ' +value = ??? () ' + +返回 (value) + +.子程序 文件_写出_资源, 逻辑型, , 智能判断资源大小或文件是否存在 写出 +.参数 资源, 字节集 +.参数 文件名, 文本型 +.参数 文件不存在即写出, 逻辑型, 可空 +.参数 置系统隐藏文件, 逻辑型, 可空 +.参数 失败结束, 逻辑型, 可空 + +文件不存在即写出 = 选择 (是否为空 (文件不存在即写出), 假, 文件不存在即写出) +置系统隐藏文件 = 选择 (是否为空 (置系统隐藏文件), 真, 置系统隐藏文件) +失败结束 = 选择 (是否为空 (失败结束), 假, 失败结束) + +.如果真 (选择 (文件不存在即写出, 文件是否存在 (文件名) = 假, 取字节集长度 (读入文件 (文件名)) ≠ 取字节集长度 (资源))) + 删除文件 (文件名) + .如果真 (写到文件 (文件名, 资源)) + .如果 (置系统隐藏文件) + .如果真 (置文件属性 (文件名, 2 + 4)) + 返回 (真) + .如果真结束 + + .否则 + 返回 (真) + .如果结束 + + .如果真结束 + + .如果真 (失败结束) + 结束 () + .如果真结束 + 返回 (假) +.如果真结束 + +返回 (真) + +.子程序 生成查询游戏名, 文本型, 公开, ‘gid 和 outerActId 不知道会不会变化 +.参数 参_lUid, 文本型 +.参数 参_Cookie, 文本型 +.参数 参_outerActId, 文本型 +.局部变量 value, 文本型 +.局部变量 v8, , , , + +??? () ' +value = ??? () ' + +' value = v8.运行脚本 (“GETcheckUserBindGameAccount(” + “{” + #引号 + “userId” + #引号 + “:{” + #引号 + “lUid” + #引号 + “:” + #引号 + 参_lUid + #引号 + “,” + #引号 + “sGuid” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sToken” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sHuYaUA” + #引号 + “:” + #引号 + “pc&1.0.0&huya” + #引号 + “,” + #引号 + “sCookie” + #引号 + “:” + #引号 + “huya_ua=outer_pc&0.0.1&websocket&&diypc_50251; ” + 参_Cookie + #引号 + “,” + #引号 + “iTokenType” + #引号 + “:0,” + #引号 + “sDeviceInfo” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sQIMEI” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “gid” + #引号 + “:0,” + #引号 + “outerActId” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “isInnerBind” + #引号 + “:0,” + #引号 + “scene” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “bActId” + #引号 + “:” + #引号 + “8285” + #引号 + “,” + #引号 + “isUseOuterActId” + #引号 + “:1}” + “)”, 真, 0, 0, ) + +返回 (value) +' outerActId=11008 +' outerActId=9504 +' E2EE解析返回 +' ’==={"0.6":"checkUserBindGameAccount","0":"4","6":"","0.6.0":"tRsp","0.0":"172","0.1":"3","0.2":"(Zero):0","0.3":"(Zero):0","0.4":"1","0.5":"webActUI","0.6.0.0":"","0.6.0.1":"熙齉虋","0.6.0.2":"微信","0.6.0.3":"和平精英","0.6.0.4":"","0.6.0.5":"","0.8":"5000","0.9":"","3":"","0.10":"","2":"(Zero):0","4":"(Zero):0","5":"(Zero):0"} + +.子程序 生成绑定二维码参数, 文本型 +.参数 参_lUid, 文本型 +.参数 参_Cookie, 文本型 +.局部变量 value, 文本型 +.局部变量 v8, , , , + +??? () ' +value = ??? () ' + +返回 (value) + +.子程序 生成查询商品剩余, 文本型, 公开, 12月活动sid = 1679,20501 sid = 1711 +.参数 参_lUid, 文本型 +.参数 参_Cookie, 文本型 +.参数 参_sid, 文本型 +.局部变量 value, 文本型 +.局部变量 v8, , , , + +??? () ' +value = ??? () ' +返回 (value) + +.子程序 生成查询积分, 文本型, 公开 +.参数 参_lUid, 文本型 +.参数 参_Cookie, 文本型 +.参数 参_sid, 文本型 +.局部变量 value, 文本型 +.局部变量 v8, , , , + +??? () ' +value = ??? () ' + +返回 (value) + +' 存取表jsonstr----{"0.6":"getUserScore","0":"4","6":"","0.6.0":"tRsp","0.0":"97","0.1":"3","0.2":"(Zero):0","0.3":"(Zero):0","0.4":"18","0.5":"webActUI","0.6.0.0":"200","0.6.0.1":"请求成功","0.6.0.2":"300","0.6.0.3":"120","0.6.0.4":"300","0.6.0.5":"120","0.6.0.6":"180","0.8":"5000","0.9":"","3":"","0.10":"","2":"(Zero):0","4":"(Zero):0","5":"(Zero):0"} + +' ''这个是返回的积分 "0.6.0.6":"180" + +.子程序 生成兑换商品, 文本型, 公开 +.参数 参_lUid, 文本型 +.参数 参_Cookie, 文本型 +.参数 参_sid, 文本型, , 1679 +.参数 参_pid, 文本型, , 9187 +.局部变量 value, 文本型 +.局部变量 v8, , , , + +??? () ' +value = ??? () ' +返回 (value) +' '兑换商品 (“1199648469152”, “udb_biztoken=AQBzBDXN1TGruAnhR_taVJVhRHK6hz0PIzArPJlQVZwlJCLZa_yYslHDX5IvFPpvnH0xetawXbQHTo3Q9tQgTEzzsGXlq2Q-nRhqj6_QyKjETJw3mQIiy3RvKN5zcER4yEjYRD7Dw9-kuWIk2Z2HO18gB_VNU3kedC4Wzqre2Yn_MyrQYlllEMA01WTr32y5q6xm3aSl4wLC6mSrxkQ6i3QlTOqTEk6pO5qKYHUxWJ9fa1PAeoVKEdBgFn7m23pXO5s745RJlBsk6RitHd9reufKGa-tut-A609Ji6qgeUW1GUa7Si14LeVC6rZCCMjF9hKP45wruM9yZxsKQ-20j-aC; udb_origin=1; udb_passport=hy_275745083; udb_status=1; udb_uid=1199648469152; udb_version=2.6; username=hy_275745083; yyuid=1199648469152”, “1679”, “9187”) + +.子程序 小黄车操作, 文本型, 公开, 本程序由[城南Post助手生成],依赖于Rs支持库! +.参数 参_操作模式, 整数型, , 1=授权CheckUserBuyAuthReq 2 =创建订单createOrderV5 3= 生成付款码payOrderSubmitV5 4=监听订单orderDetailV5 +.参数 参_购买数量, 文本型 +.参数 参_lUid, 文本型 +.参数 参_Cookie, 文本型 +.参数 参_oderid, 文本型, 可空 +.局部变量 value, 文本型 +.局部变量 v8, , , , +.局部变量 body, 文本型 +.局部变量 局_支付方式, 文本型 +.局部变量 skuId_30, 文本型 +.局部变量 spuId_30, 文本型 +.局部变量 skuId_100, 文本型 +.局部变量 spuId_100, 文本型 +.局部变量 skuId_1, 文本型 +.局部变量 spuId_1, 文本型 +.局部变量 skuId_10, 文本型 +.局部变量 spuId_10, 文本型 +.局部变量 skuId_1000, 文本型 +.局部变量 spuId_1000, 文本型 + + +.如果真 (参_操作模式 = 1) ' 初始化授权 可以不使用 + skuId_30 = “5370360” + spuId_30 = “hy-3845257” + + body = “{” + #引号 + “userId” + #引号 + “:{” + #引号 + “lUid” + #引号 + “:” + 参_lUid + “,” + #引号 + “sGuid” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sToken” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sHuYaUA” + #引号 + “:” + #引号 + “web&1.0.0&huya” + #引号 + “,” + #引号 + “sCookie” + #引号 + “:” + #引号 + 参_Cookie + #引号 + “,” + #引号 + “iTokenType” + #引号 + “:0,” + #引号 + “sDeviceInfo” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sQIMEI” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “shopAppInfo” + #引号 + “:{” + #引号 + “sAppId” + #引号 + “:” + #引号 + “huya” + #引号 + “,” + #引号 + “sBizType” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “spuId” + #引号 + “:” + #引号 + spuId_30 + #引号 + “,” + #引号 + “skuId” + #引号 + “:” + #引号 + skuId_30 + #引号 + “,” + #引号 + “Servant” + #引号 + “:” + #引号 + “shopMiddleUI” + #引号 + “,” + #引号 + “Func” + #引号 + “:” + #引号 + “CheckUserBuyAuthReq” + #引号 + “}” + +.如果真结束 +.如果真 (参_操作模式 = 2) ' '30元小黄车 ' 2025月活动---- 开通精英手册 创建顶单返回oderID skuId=1171601 spuId=hy-1347501,2025年01:skuId=1225034,spuId=hy-1409507 + + skuId_30 = “5370360” + spuId_30 = “hy-5879340” + + + body = “{” + #引号 + “userId” + #引号 + “:{” + #引号 + “lUid” + #引号 + “:” + 参_lUid + “,” + #引号 + “sGuid” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sToken” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sHuYaUA” + #引号 + “:” + #引号 + “web&1.0.0&huya” + #引号 + “,” + #引号 + “sCookie” + #引号 + “:” + #引号 + 参_Cookie + #引号 + “,” + #引号 + “iTokenType” + #引号 + “:0,” + #引号 + “sDeviceInfo” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sQIMEI” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “shopAppInfo” + #引号 + “:{” + #引号 + “sAppId” + #引号 + “:” + #引号 + “huya” + #引号 + “,” + #引号 + “sBizType” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “receiveId” + #引号 + “:0,” + #引号 + “pid” + #引号 + “:” + #引号 + 全直播间id + #引号 + “,” + #引号 + “skuId” + #引号 + “:” + skuId_30 + “,” + #引号 + “itemCount” + #引号 + “:1,” + #引号 + “remark” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “spuId” + #引号 + “:” + #引号 + spuId_30 + #引号 + “,” + #引号 + “gameId” + #引号 + “:3203,” + #引号 + “orderId” + #引号 + “:0,” + #引号 + “src” + #引号 + “:4,” + #引号 + “couponUserIds” + #引号 + “:{” + #引号 + “proto” + #引号 + “:{},” + #引号 + “value” + #引号 + “:[]},” + #引号 + “orderType” + #引号 + “:6,” + #引号 + “extraParam” + #引号 + “:{” + #引号 + “freight” + #引号 + “:0,” + #引号 + “channelStockType” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “channelStockCode” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “relatedBizId” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “bizParams” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “scene” + #引号 + “:0,” + #引号 + “promotionItems” + #引号 + “:{” + #引号 + “proto” + #引号 + “:{” + #引号 + “promotionId” + #引号 + “:0,” + #引号 + “promotionType” + #引号 + “:0},” + #引号 + “value” + #引号 + “:[]},” + #引号 + “sourceId” + #引号 + “:” + #引号 + “yellowCar” + #引号 + “,” + #引号 + “Servant” + #引号 + “:” + #引号 + “shopMiddleUI” + #引号 + “,” + #引号 + “Func” + #引号 + “:” + #引号 + “createOrderV5” + #引号 + “}” + + 调试输出 (body) + +.如果真结束 +.如果真 (参_操作模式 = 3) ' 下单 获取充值二维码 + 全临界E2.进入 () + 局_支付方式 = 选择 (窗口1.单选框_微信.选中, “Weixin”, “Zfb”) + 全临界E2.退出 () + + body = “{” + #引号 + “userId” + #引号 + “:{” + #引号 + “lUid” + #引号 + “:” + 参_lUid + “,” + #引号 + “sGuid” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sToken” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sHuYaUA” + #引号 + “:” + #引号 + “web&1.0.0&huya” + #引号 + “,” + #引号 + “sCookie” + #引号 + “:” + #引号 + 参_Cookie + #引号 + “,” + #引号 + “iTokenType” + #引号 + “:0,” + #引号 + “sDeviceInfo” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sQIMEI” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “shopAppInfo” + #引号 + “:{” + #引号 + “sAppId” + #引号 + “:” + #引号 + “huya” + #引号 + “,” + #引号 + “sBizType” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “orderId” + #引号 + “:” + 参_oderid + “,” + #引号 + “chId” + #引号 + “:” + #引号 + 局_支付方式 + #引号 + “,” + #引号 + “payMethod” + #引号 + “:” + #引号 + “QrCode” + #引号 + “,” + #引号 + “returnUrl” + #引号 + “:” + #引号 + “https://m-shop.yaoguo.com/index.html#/consumer/paycallback?orderId=” + 参_oderid + “&pid=” + 全直播间id + #引号 + “,” + #引号 + “supplierType” + #引号 + “:1,” + #引号 + “Servant” + #引号 + “:” + #引号 + “shopMiddleUI” + #引号 + “,” + #引号 + “Func” + #引号 + “:” + #引号 + “payOrderSubmitV5” + #引号 + “}” + + ' '调试输出 (body) +.如果真结束 +.如果真 (参_操作模式 = 4) ' 订单详情 获取是否充值成功 + body = “{” + #引号 + “userId” + #引号 + “:{” + #引号 + “lUid” + #引号 + “:” + 参_lUid + “,” + #引号 + “sGuid” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sToken” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sHuYaUA” + #引号 + “:” + #引号 + “web&1.0.0&huya” + #引号 + “,” + #引号 + “sCookie” + #引号 + “:” + #引号 + 参_Cookie + #引号 + “,” + #引号 + “iTokenType” + #引号 + “:0,” + #引号 + “sDeviceInfo” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sQIMEI” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “shopAppInfo” + #引号 + “:{” + #引号 + “sAppId” + #引号 + “:” + #引号 + “huya” + #引号 + “,” + #引号 + “sBizType” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “orderId” + #引号 + “:” + 参_oderid + “,” + #引号 + “Servant” + #引号 + “:” + #引号 + “shopMiddleUI” + #引号 + “,” + #引号 + “Func” + #引号 + “:” + #引号 + “orderDetailV5” + #引号 + “}” + + +.如果真结束 +.如果真 (参_操作模式 = 5) ' 取消订单 + ' Cookie前面加个这个:sCookie:"vplayer_sbanner_1199552343819_1199552343819=1; + body = “{” + #引号 + “userId” + #引号 + “:{” + #引号 + “lUid” + #引号 + “:” + 参_lUid + “,” + #引号 + “sGuid” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sToken” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sHuYaUA” + #引号 + “:” + #引号 + “web&1.0.0&huya” + #引号 + “,” + #引号 + “sCookie” + #引号 + “:” + #引号 + 参_Cookie + #引号 + “,” + #引号 + “iTokenType” + #引号 + “:0,” + #引号 + “sDeviceInfo” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sQIMEI” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “shopAppInfo” + #引号 + “:{” + #引号 + “sAppId” + #引号 + “:” + #引号 + “huya” + #引号 + “,” + #引号 + “sBizType” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “orderId” + #引号 + “:” + #引号 + 参_oderid + #引号 + “,” + #引号 + “Servant” + #引号 + “:” + #引号 + “shopMiddleUI” + #引号 + “,” + #引号 + “Func” + #引号 + “:” + #引号 + “cancelOrderV5” + #引号 + “}” + + +.如果真结束 +.如果真 (参_操作模式 = 6) ' 下单100元 skuId=1224032 , spuId=hy-1408022 + skuId_100 = “3385259” + spuId_100 = “hy-3847245” + + + body = “{” + #引号 + “userId” + #引号 + “:{” + #引号 + “lUid” + #引号 + “:” + 参_lUid + “,” + #引号 + “sGuid” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sToken” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sHuYaUA” + #引号 + “:” + #引号 + “web&1.0.0&huya” + #引号 + “,” + #引号 + “sCookie” + #引号 + “:” + #引号 + 参_Cookie + #引号 + “,” + #引号 + “iTokenType” + #引号 + “:0,” + #引号 + “sDeviceInfo” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sQIMEI” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “shopAppInfo” + #引号 + “:{” + #引号 + “sAppId” + #引号 + “:” + #引号 + “huya” + #引号 + “,” + #引号 + “sBizType” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “receiveId” + #引号 + “:0,” + #引号 + “pid” + #引号 + “:” + #引号 + 全直播间id + #引号 + “,” + #引号 + “skuId” + #引号 + “:” + skuId_100 + “,” + #引号 + “itemCount” + #引号 + “:” + 参_购买数量 + “,” + #引号 + “remark” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “spuId” + #引号 + “:” + #引号 + spuId_100 + #引号 + “,” + #引号 + “gameId” + #引号 + “:3203,” + #引号 + “orderId” + #引号 + “:0,” + #引号 + “src” + #引号 + “:4,” + #引号 + “couponUserIds” + #引号 + “:{” + #引号 + “proto” + #引号 + “:{},” + #引号 + “value” + #引号 + “:[]},” + #引号 + “orderType” + #引号 + “:0,” + #引号 + “extraParam” + #引号 + “:{” + #引号 + “freight” + #引号 + “:0,” + #引号 + “channelStockType” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “channelStockCode” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “relatedBizId” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “bizParams” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “scene” + #引号 + “:0,” + #引号 + “promotionItems” + #引号 + “:{” + #引号 + “proto” + #引号 + “:{” + #引号 + “promotionId” + #引号 + “:0,” + #引号 + “promotionType” + #引号 + “:0},” + #引号 + “value” + #引号 + “:[]},” + #引号 + “sourceId” + #引号 + “:” + #引号 + “yellowCar” + #引号 + “,” + #引号 + “Servant” + #引号 + “:” + #引号 + “shopMiddleUI” + #引号 + “,” + #引号 + “Func” + #引号 + “:” + #引号 + “createOrderV5” + #引号 + “}” + +.如果真结束 +.如果真 (参_操作模式 = 7) ' queryUserOrderList 查询充值记录list + body = “{” + #引号 + “userId” + #引号 + “:{” + #引号 + “lUid” + #引号 + “:” + 参_lUid + “,” + #引号 + “sGuid” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sToken” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sHuYaUA” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sCookie” + #引号 + “:” + #引号 + 参_Cookie + #引号 + “,” + #引号 + “iTokenType” + #引号 + “:0,” + #引号 + “sDeviceInfo” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sQIMEI” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “orderStatus” + #引号 + “:0,” + #引号 + “page” + #引号 + “:1,” + #引号 + “size” + #引号 + “:10,” + #引号 + “Servant” + #引号 + “:” + #引号 + “shopMiddleUI” + #引号 + “,” + #引号 + “Func” + #引号 + “:” + #引号 + “queryUserOrderList” + #引号 + “}” + +.如果真结束 +.如果真 (参_操作模式 = 8) ' 下单1元 skuId = 1212811, spuId = hy-1395011 + skuId_1 = “3385225” + spuId_1 = “hy-3847216” + + ' itemCount=数量 + body = “{” + #引号 + “userId” + #引号 + “:{” + #引号 + “lUid” + #引号 + “:” + 参_lUid + “,” + #引号 + “sGuid” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sToken” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sHuYaUA” + #引号 + “:” + #引号 + “web&1.0.0&huya” + #引号 + “,” + #引号 + “sCookie” + #引号 + “:” + #引号 + 参_Cookie + #引号 + “,” + #引号 + “iTokenType” + #引号 + “:0,” + #引号 + “sDeviceInfo” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sQIMEI” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “shopAppInfo” + #引号 + “:{” + #引号 + “sAppId” + #引号 + “:” + #引号 + “huya” + #引号 + “,” + #引号 + “sBizType” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “receiveId” + #引号 + “:0,” + #引号 + “pid” + #引号 + “:” + #引号 + 全直播间id + #引号 + “,” + #引号 + “skuId” + #引号 + “:” + skuId_1 + “,” + #引号 + “itemCount” + #引号 + “:” + 参_购买数量 + “,” + #引号 + “remark” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “spuId” + #引号 + “:” + #引号 + spuId_1 + #引号 + “,” + #引号 + “gameId” + #引号 + “:3203,” + #引号 + “orderId” + #引号 + “:0,” + #引号 + “src” + #引号 + “:4,” + #引号 + “couponUserIds” + #引号 + “:{” + #引号 + “proto” + #引号 + “:{},” + #引号 + “value” + #引号 + “:[]},” + #引号 + “orderType” + #引号 + “:0,” + #引号 + “extraParam” + #引号 + “:{” + #引号 + “freight” + #引号 + “:0,” + #引号 + “channelStockType” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “channelStockCode” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “relatedBizId” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “bizParams” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “scene” + #引号 + “:0,” + #引号 + “promotionItems” + #引号 + “:{” + #引号 + “proto” + #引号 + “:{” + #引号 + “promotionId” + #引号 + “:0,” + #引号 + “promotionType” + #引号 + “:0},” + #引号 + “value” + #引号 + “:[]},” + #引号 + “sourceId” + #引号 + “:” + #引号 + “yellowCar” + #引号 + “,” + #引号 + “Servant” + #引号 + “:” + #引号 + “shopMiddleUI” + #引号 + “,” + #引号 + “Func” + #引号 + “:” + #引号 + “createOrderV5” + #引号 + “}” + ' 调试输出 (body) + +.如果真结束 +.如果真 (参_操作模式 = 9) ' 下单10元 skuId = 1214835 , spuId = hy-1410020 * + skuId_10 = “3386001” + spuId_10 = “hy-3854130” + + body = “{” + #引号 + “userId” + #引号 + “:{” + #引号 + “lUid” + #引号 + “:” + 参_lUid + “,” + #引号 + “sGuid” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sToken” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sHuYaUA” + #引号 + “:” + #引号 + “web&1.0.0&huya” + #引号 + “,” + #引号 + “sCookie” + #引号 + “:” + #引号 + 参_Cookie + #引号 + “,” + #引号 + “iTokenType” + #引号 + “:0,” + #引号 + “sDeviceInfo” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sQIMEI” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “shopAppInfo” + #引号 + “:{” + #引号 + “sAppId” + #引号 + “:” + #引号 + “huya” + #引号 + “,” + #引号 + “sBizType” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “receiveId” + #引号 + “:0,” + #引号 + “pid” + #引号 + “:” + #引号 + 全直播间id + #引号 + “,” + #引号 + “skuId” + #引号 + “:” + skuId_10 + “,” + #引号 + “itemCount” + #引号 + “:” + 参_购买数量 + “,” + #引号 + “remark” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “spuId” + #引号 + “:” + #引号 + spuId_10 + #引号 + “,” + #引号 + “gameId” + #引号 + “:3203,” + #引号 + “orderId” + #引号 + “:0,” + #引号 + “src” + #引号 + “:4,” + #引号 + “couponUserIds” + #引号 + “:{” + #引号 + “proto” + #引号 + “:{},” + #引号 + “value” + #引号 + “:[]},” + #引号 + “orderType” + #引号 + “:0,” + #引号 + “extraParam” + #引号 + “:{” + #引号 + “freight” + #引号 + “:0,” + #引号 + “channelStockType” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “channelStockCode” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “relatedBizId” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “bizParams” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “scene” + #引号 + “:0,” + #引号 + “promotionItems” + #引号 + “:{” + #引号 + “proto” + #引号 + “:{” + #引号 + “promotionId” + #引号 + “:0,” + #引号 + “promotionType” + #引号 + “:0},” + #引号 + “value” + #引号 + “:[]},” + #引号 + “sourceId” + #引号 + “:” + #引号 + “yellowCar” + #引号 + “,” + #引号 + “Servant” + #引号 + “:” + #引号 + “shopMiddleUI” + #引号 + “,” + #引号 + “Func” + #引号 + “:” + #引号 + “createOrderV5” + #引号 + “}” + + +.如果真结束 +.如果真 (参_操作模式 = 10) ' 下单1000元 skuId = 1218034 , spuId = hy-1400023 + skuId_1000 = “3386008” + spuId_1000 = “hy-3854135” + + body = “{” + #引号 + “userId” + #引号 + “:{” + #引号 + “lUid” + #引号 + “:” + 参_lUid + “,” + #引号 + “sGuid” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sToken” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sHuYaUA” + #引号 + “:” + #引号 + “web&1.0.0&huya” + #引号 + “,” + #引号 + “sCookie” + #引号 + “:” + #引号 + 参_Cookie + #引号 + “,” + #引号 + “iTokenType” + #引号 + “:0,” + #引号 + “sDeviceInfo” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “sQIMEI” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “shopAppInfo” + #引号 + “:{” + #引号 + “sAppId” + #引号 + “:” + #引号 + “huya” + #引号 + “,” + #引号 + “sBizType” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “receiveId” + #引号 + “:0,” + #引号 + “pid” + #引号 + “:” + #引号 + 全直播间id + #引号 + “,” + #引号 + “skuId” + #引号 + “:” + skuId_1000 + “,” + #引号 + “itemCount” + #引号 + “:” + 参_购买数量 + “,” + #引号 + “remark” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “spuId” + #引号 + “:” + #引号 + spuId_1000 + #引号 + “,” + #引号 + “gameId” + #引号 + “:3203,” + #引号 + “orderId” + #引号 + “:0,” + #引号 + “src” + #引号 + “:4,” + #引号 + “couponUserIds” + #引号 + “:{” + #引号 + “proto” + #引号 + “:{},” + #引号 + “value” + #引号 + “:[]},” + #引号 + “orderType” + #引号 + “:0,” + #引号 + “extraParam” + #引号 + “:{” + #引号 + “freight” + #引号 + “:0,” + #引号 + “channelStockType” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “channelStockCode” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “relatedBizId” + #引号 + “:” + #引号 + “” + #引号 + “,” + #引号 + “bizParams” + #引号 + “:” + #引号 + “” + #引号 + “},” + #引号 + “scene” + #引号 + “:0,” + #引号 + “promotionItems” + #引号 + “:{” + #引号 + “proto” + #引号 + “:{” + #引号 + “promotionId” + #引号 + “:0,” + #引号 + “promotionType” + #引号 + “:0},” + #引号 + “value” + #引号 + “:[]},” + #引号 + “sourceId” + #引号 + “:” + #引号 + “yellowCar” + #引号 + “,” + #引号 + “Servant” + #引号 + “:” + #引号 + “shopMiddleUI” + #引号 + “,” + #引号 + “Func” + #引号 + “:” + #引号 + “createOrderV5” + #引号 + “}” + + +.如果真结束 + + +??? () ' +value = ??? () ' +返回 (value) + +.子程序 生成确认绑定, 文本型, , bActId=8285,bActId=8589 +.参数 参_lUid, 文本型 +.参数 参_Cookie, 文本型 +.局部变量 value, 文本型 +.局部变量 v8, , , , + +??? () ' +value = ??? () ' + +返回 (value) + +' { +' "lUid": "1279529332672", +' "sGuid": "", +' "sToken": "", +' "sHuYaUA": "pc&1.0.0&huya", +' "sCookie": "huya_ua=webh5&0.0.1&activity&android;__yamid_tt1=0.2830799923775762;__yamid_new=CAF88249E2900001EF7A236040205D10;game_did=r0tklPbqoN3hTlXJVayl9ay5Cnru4rAaBvw;_qimei_uuid42=18b0d10102f100bb0821b403a3316f41ae74cabab1;udb_guiddata=6d14e67de9ae48f6ba233ded59f745f2;udb_deviceid=w_909114588135301120;_qimei_fingerprint=673ce0515d7a344d28dfb2e8524d66c0;_qimei_h38=527fde620821b403a3316f4102000009718b0d;guid=0a89b728706034670a02d99eda9e1a13;alphaValue=0.80;hydid=MTAyODkzMTgwMDk0NzE5NjkyOA;_qimei_q32=c8bce986a27d60f88ea5d9fe7bec1134;_qimei_q36=dbe236be3c69fd6b279e19f230001061850b;hdid=df4e1ad25637207a2faa3d6eeaec3549143c8067;SoundValue=0.50;guid=0a89b728706034670a02d99eda9e1a13;hiido_ui=0.708128041981571;udb_biztoken=AQBu5yPFw98jTOu61uqLQKmnqB1_f6aoJf8FTXJVXfKUWPudGfcD8xZhTErrN4QBrfug_tNYw2s7kNymKrRvOnJSsb2UFAu82p_Z0ANWDiwGC3EQrulosir7JyiAYE7AWuEuNvVLV0kZxQKH6ixRXKubRQA3AWdpN78HmwmtWSFCfwI4jir4170hqgqP2hYjjTRf6BlfdF3WcRdwLx7tXmLUh1csidIXOqBh2_AHT_OQ9furOAokpfTLfvnsfbegldPRS0UA8S-GPdMuybniu5I1Cot5YouYPsITOcv9YLBrYH5XCmFnEOD9EZxr9n3_UNXW3Kp2HTWDZvXdbiCW1MNH;udb_cred=CgBFSpjUCkKWt8UUS4z4K_dhil_CN01bPqWQM5sOiLISsN2Yh6LrrS5cRpj3yzbHuUf_96HjCFiEaizSJ5cnk4ZTMYdW-QcccfXpy8zD65_uPDgPnQNl8ZcCsa2MjPLUBGvHKeQvPR8tQmBn5FglY-wA;udb_origin=4;udb_other=%7B%22lt%22%3A%221740129939402%22%2C%22isRem%22%3A%221%22%7D;udb_passport=hy_91937923;udb_status=1;udb_uid=1279529332672;udb_version=1.0;username=hy_91937923;yyuid=1279529332672;udb_accdata=08613131313990;h_unt=1740132694;udb_passdata=3;__yasmid=0.2830799923775762;__yaoldyyuid=1279529332672;_yasids=__rootsid%3DCB190B098280000183CF2C231846190A;Hm_lvt_51700b6c722f5bb4cf39906a596ea41f=1740114007,1740132694;HMACCOUNT=387624F0C72FFBB3;sdid=0UnHUgv0_qmfD4KAKlwzhqSU2J-UoxVLjlVqO2TdlwrJd0jVcCLwiEb5RQw91cqbzOm4zOZIHlR6Hw8rZcM29Ig-PxKd28RrSaANzbXZ38TzWVkn9LtfFJw_Qo4kgKr8OZHDqNnuwg612sGyflFn1drQ50tUfiRmBzGhnxAl6HZnR-ZeMUXuEYulEsrPAMm6c;isInLiveRoom=true;huya_flash_rep_cnt=12;huya_hd_rep_cnt=6;Hm_lpvt_51700b6c722f5bb4cf39906a596ea41f=1740132969;huya_web_rep_cnt=175", +' "iTokenType": 0, +' "sDeviceInfo": "", +' "sQIMEI": "" +' } + + +.子程序 _______________ + + + +.子程序 JS解压, 字节集, 公开, 本程序由[城南Post助手生成],依赖于Rs支持库! +.参数 参_buff, 字节集 +.局部变量 value, 文本型 +.局部变量 v8, , , , + +??? () ' +value = ??? () ' +返回 (编码_BASE64解码 (value)) + +