申请ID:pirx
1、申 请 I D :pirx2、个人邮箱:pirx00@163.com
3、原创技术文章: 口袋巴士_POST_注册
实际效果:
另,巴士注册默认为滑动验证,此方法为绑定法,算是绕过了滑动,为数字/字母验证码,方便接平台、搞识别。
其中,多次提交数据部分为绑定账户过程,详见源码。
主要思路:分析网站,发现提供了一个StarGame账户登录的接口,顺藤摸瓜过去,发现注册它很简单,由此,思路为:注册stargame账户--跳转绑定页--绑定账户--新用户名密码
源码:
代码:
.版本 2
.支持库 iext
.程序集 窗口程序集_启动窗口
.程序集变量 线程句柄, 整数型
.子程序 _按钮_注册_被单击
线程句柄 = 线程_启动 (&子程序_注册)
.子程序 _按钮_保存_被单击, , , 保存列表框
.局部变量 项目数, 整数型
.局部变量 i, 整数型
.局部变量 账号, 文本型
.局部变量 密码, 文本型
.局部变量 数据, 文本型
.局部变量 状态, 文本型
数据 = 到文本 (读入文件 (取运行目录 () + “\数据.txt”))
项目数 = 超级列表框_账号数据.取表项数 ()
输出调试文本 (项目数)
.如果真 (项目数 ≠ 0)
.计次循环首 (项目数, i)
账号 = 超级列表框_账号数据.取标题 (i - 1, 0)
密码 = 超级列表框_账号数据.取标题 (i - 1, 1)
状态 = 超级列表框_账号数据.取标题 (i - 1, 2)
数据 = 数据 + 账号 + “----” + 密码 + “----” + 状态 + #换行符
.计次循环尾 ()
输出调试文本 (数据)
写到文件 (取运行目录 () + “\数据.txt”, 到字节集 (数据))
.如果真结束
.子程序 子程序_注册, , , 注册账号主要部分
.局部变量 提交地址, 文本型
.局部变量 提交数据, 文本型
.局部变量 返回文本, 文本型
.局部变量 索引, 整数型
.局部变量 账号, 文本型
.局部变量 密码, 文本型
'===============
提交地址 = “https://passport.stargame.com/register”
提交数据 = “to=%2F&email=” + 编辑框_邮箱.内容 + “&nickname=” + 编辑框_用户名.内容 + “&password=” + 编辑框_密码.内容 + “&passwordRepeat=” + 编辑框_密码.内容 + “&vcode=” + 编辑框_注册_验证码.内容 + “&agreement=on”
返回文本 = 编码_utf8到gb2312 (到文本 (网页_访问 (提交地址, 1, 提交数据, )))
' 输出调试文本 (返回文本)' 查看错误 例如:邮箱/用户名 存在等
' ===========================================================================
' ↓判断错误 例如 验证码/邮箱重复等
.如果真 (寻找文本 (返回文本, “邮箱已存在”, , 假) ≠ -1)' ↓邮箱存在 重置验证码\账号 清空验证码输入框并返回
输出调试文本 (“邮箱已存在”)' 调试
输出调试文本 (“当前邮箱:” + 编辑框_邮箱.内容)' 调试
子程序_注册_验证码 ()
子程序_账号 ()
编辑框_注册_验证码.内容 = “”
返回 ()
.如果真结束
.如果真 (寻找文本 (返回文本, “验证码错误”, , 假) ≠ -1)' ↓验证码错误重置验证码 清空验证码输入框并返回
输出调试文本 (“验证码错误”)
子程序_注册_验证码 ()
编辑框_注册_验证码.内容 = “”
返回 ()
.如果真结束
.如果真 (寻找文本 (返回文本, “登录成功!”, , 假) ≠ -1)
' ===========================================================================
输出调试文本 (“初始化 完成”)' 调试
提交地址 = “https://passport.stargame.com/home/medias”‘ //跳转绑定主页
返回文本 = 编码_utf8到gb2312 (到文本 (网页_访问 (提交地址, 0)))
' ↓账户信息
提交地址 = “https://passport.stargame.com/home/bindMedia?clientId=ptbus.com”’//跳转巴士接口
返回文本 = 编码_utf8到gb2312 (到文本 (网页_访问 (提交地址, 0)))
' ↓确认账户
提交地址 = “https://passport.stargame.com/oauth/authorize”‘ //发送确认绑定数据
提交数据 = “user_oauth_approval=true”
返回文本 = 编码_utf8到gb2312 (到文本 (网页_访问 (提交地址, 1, 提交数据)))
' ↓注册用户
提交地址 = “http://i.ptbus.com/third_conn/bind_account”’//绑定页,提交用户名、密码等数据
提交数据 = “user_name=” + 编辑框_用户名.内容 + “&password=” + 编辑框_密码.内容
返回文本 = 编码_utf8到gb2312 (到文本 (网页_访问 (提交地址, 1, 提交数据)))
' 输出调试文本 (返回文本)' ← 查看是否成功(源文)
' ===========================================================================
' ↓判断是否成功 记录状态
.如果真 (寻找文本 (返回文本, “感谢您的注册”, , 假) ≠ -1)
索引 = 超级列表框_账号数据.插入表项 (, , , , , )
账号 = 编辑框_用户名.内容
密码 = 编辑框_密码.内容
超级列表框_账号数据.置标题 (索引, 0, 账号)' ← 账号
超级列表框_账号数据.置标题 (索引, 1, 密码)' ← 密码
超级列表框_账号数据.置标题 (索引, 2, “注册成功”)' ← 状态
_启动窗口.标题 = “成功注册:” + 到文本 (超级列表框_账号数据.取表项数 ()) + “ 个”
输出调试文本 (“注册成功”)' 调试
子程序_注册_验证码 ()
子程序_账号 ()
返回 ()
.如果真结束
.如果真 (寻找文本 (返回文本, “失败”, , 假) ≠ -1)
索引 = 超级列表框_账号数据.插入表项 (, , , , , )
账号 = 编辑框_用户名.内容
密码 = 编辑框_密码.内容
超级列表框_账号数据.置标题 (索引, 0, 账号)
超级列表框_账号数据.置标题 (索引, 1, 密码)
超级列表框_账号数据.置标题 (索引, 2, “注册失败”)
输出调试文本 (“注册失败”)
子程序_注册_验证码 ()
子程序_账号 ()
返回 ()
.如果真结束
.如果真结束
线程_销毁 (线程句柄)
.子程序 _图片框_注册_验证码_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
子程序_注册_验证码 ()' 显示验证码
子程序_账号 ()' 显示随机账号
.子程序 子程序_验证码, 字节集, , 仅取验证码数据,方便单独操作
.局部变量 验证码, 字节集
.局部变量 提交地址, 文本型, , , 验证码地址
.局部变量 随机数, 文本型
.局部变量 i, 整数型, , , 计次
编辑框_注册_验证码.内容 = “”' 重置验证码(编辑框)
置随机数种子 ()
.计次循环首 (13, i)
随机数 = 随机数 + 到文本 (取随机数 (0, 9))
.计次循环尾 ()
提交地址 = “https://passport.stargame.com/captcha?_” + 随机数
验证码 = 网页_访问 (提交地址, 0)
返回 (验证码)
.子程序 子程序_注册_验证码, , , 仅刷新验证码,方便单独操作,例如输入验证码错误,只刷新验证码不改变账号密码
图片框_注册_验证码.图片 = 子程序_验证码 ()
.子程序 子程序_账号, , , 随机账号
.局部变量 i, 整数型
.局部变量 随机数, 文本型
置随机数种子 ()
.计次循环首 (10, i)
随机数 = 随机数 + 到文本 (取随机数 (0, 9))
.计次循环尾 ()
编辑框_用户名.内容 = “uesr” + 随机数
编辑框_邮箱.内容 = “mail” + 随机数 + “@163.com”
编辑框_密码.内容 = “pw” + 随机数
.子程序 __启动窗口_将被销毁, , , 销毁时保存账号
_按钮_保存_被单击 ()
.子程序 __启动窗口_创建完毕
子程序_账号 ()
子程序_注册_验证码 ()
抱歉,未能达到申请要求,申请不通过,可以关注论坛官方微信(吾爱破解论坛),等待开放注册通知。
页:
[1]