• 1249阅读
  • 1回复

POST实战演练 第11课:代码整理以及YY填表注册 [复制链接]

上一主题 下一主题
离线啊冲
 

只看楼主 倒序阅读 使用道具 楼主  发表于: 2016-08-30
.版本 2
.支持库 script
.支持库 spec
.支持库 sock
.支持库 internet
.支持库 iext
.支持库 HtmlView

.程序集 窗口程序集1
.程序集变量 返回cookies, 文本型
.程序集变量 计次, 整数型

.子程序 _图片框1_鼠标左键被放开, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

更新验证码 ()

.子程序 _窗口1_创建完毕

更新验证码 ()

.子程序 生成随机帐号, 文本型

返回 (文本_取随机字母 (4) + 文本_取随机数字 (10))

.子程序 生成随机密码, 文本型

返回 (文本_取随机字母 (2) + 文本_取随机数字 (10))

.子程序 取登录页面, 文本型
.参数 rcall1, 文本型

脚本组件1.执行 (#login)
返回 (脚本组件1.运行 (“formSubmit”, rcall1))

.子程序 填表注册YY帐号, 逻辑型
.参数 帐号, 文本型
.参数 密码, 文本型
.参数 验证码, 文本型
.局部变量 填表, 普通填表

填表.初始化 (超文本浏览框1.取窗口句柄 ())
填表.文本框_写内容 (“username”, 帐号)
填表.文本框_写内容 (“password”, 密码)
填表.文本框_写内容 (“password2”, 密码)
填表.文本框_写内容 (“securityCode1”, 验证码)
' 填表.图形按钮_点击 (“submitButton”)
鼠标_消息 (窗口_取IE窗口句柄 (超文本浏览框1.取窗口句柄 ()), 472, 425)
延迟 (3000)
.判断开始 (填表.就绪判断_源码关键字 (超文本浏览框1.取窗口句柄 (), “正在登录”, 8))
    返回 (真)
.默认
    返回 (假)
.判断结束


.子程序 _按钮2_被单击

清除COOKIE文件 ()
切换IP ()

.子程序 切换IP, 逻辑型, 公开, 成功返回真,超时返回假
.参数 超时, 整数型, 可空, 毫秒,默认5000毫秒
.参数 间隔, 整数型, 可空, 毫秒,默认2000毫秒
.局部变量 前IP, 文本型, , "0"
.局部变量 后IP, 文本型, , "0"
.局部变量 用时, 整数型

.判断开始 (文件是否存在 (取运行目录 () + “\adsl.dll”))
    adsl ()
    返回 (真)
.默认
    .如果真 (超时 = 0)
        超时 = 5000
    .如果真结束

    .如果真 (间隔 = 0)
        间隔 = 2000
    .如果真结束
    前IP = 取本机IP ()
    后IP = 前IP
    用时 = 取启动时间 ()
    挂断 ()
    延迟 (间隔)
    InternetDial (0, “”, 2, 0, 0)
    .判断循环首 (文本数组比较 (后IP, 前IP))
        后IP = 取本机IP ()
        InternetDial (0, “”, 2, 0, 0)
        .如果真 (取启动时间 () - 用时 ≥ 超时)
            返回 (假)
        .如果真结束

    .判断循环尾 ()
    返回 (真)
.判断结束


.子程序 文本数组比较, 逻辑型, 公开, 比较两个文本型数组是否相同
.参数 数组一, 文本型, 数组
.参数 数组二, 文本型, 数组
.局部变量 结果一, 文本型
.局部变量 结果二, 文本型
.局部变量 i, 整数型

.计次循环首 (取数组成员数 (数组一), i)
    结果一 = 结果一 + 数组一
.计次循环尾 ()
.计次循环首 (取数组成员数 (数组二), i)
    结果二 = 结果二 + 数组二
.计次循环尾 ()
.判断开始 (结果一 = 结果二)
    返回 (真)
.默认
    返回 (假)
.判断结束


.子程序 _编辑框3_内容被改变
.局部变量 结果, 逻辑型
.局部变量 索引, 整数型
.局部变量 帐号, 文本型
.局部变量 密码, 文本型

.如果真 (取文本长度 (编辑框3.内容) = 5)
    计次 = 计次 + 1
    帐号 = 生成随机帐号 ()
    密码 = 生成随机密码 ()
    .判断开始 (单选框1.选中)
        结果 = 注册YY帐号 (帐号, 密码, 编辑框3.内容)
    .默认
        结果 = 填表注册YY帐号 (帐号, 密码, 编辑框3.内容)
    .判断结束

    .如果真 (结果)
        索引 = 超级列表框1.插入表项 (, , , , , )
        超级列表框1.置标题 (索引, 0, 帐号)
        超级列表框1.置标题 (索引, 1, 密码)
    .如果真结束

    .如果真 (计次 ≥ 到整数 (编辑框1.内容))
        计次 = 0
        _按钮2_被单击 ()
    .如果真结束
    更新验证码 ()
.如果真结束


.子程序 _编辑框3_按下某键, 逻辑型
.参数 键代码, 整数型
.参数 功能键状态, 整数型

.如果真 (键代码 = #空格键)
    更新验证码 ()
.如果真结束


.子程序 更新验证码
.局部变量 填表, 普通填表

编辑框3.内容 = “”
.判断开始 (单选框1.选中)
    图片框1.图片 = 网页_访问 (“https://udb.duowan.com/verify/register.do?” + 到文本 (时间_北京转格林威治 (取现行时间 ())), , 编辑框2.内容, , , , , , , , )
.默认
    超文本浏览框1.地址 = “https://udb.duowan.com/register.do
    延迟 (2000)
    填表.初始化 (超文本浏览框1.取窗口句柄 ())
    填表.就绪判断_源码关键字 (超文本浏览框1.取窗口句柄 (), “看不清?换一张”, 10)
    延迟 (3000)
    图片框1.图片 = 网页_验证码同步 (超文本浏览框1.取窗口句柄 (), “https://udb.duowan.com/verify/register.do”)
.判断结束


.子程序 注册YY帐号, 逻辑型
.参数 帐号, 文本型
.参数 密码, 文本型
.参数 验证码, 文本型
.局部变量 正则, 正则表达式类
.局部变量 i, 整数型
.局部变量 返回内容, 文本型
.局部变量 数据, 文本型
.局部变量 地址, 文本型
.局部变量 参数1, 文本型
.局部变量 参数2, 文本型
.局部变量 rcall, 文本型

超文本浏览框1.地址 = “”
返回内容 = 编码_Utf8到Ansi (网页_访问 (“https://udb.duowan.com/register.do”, , 编辑框2.内容, , , , , , , 返回cookies, ))
正则.创建 (#正则1, 返回内容, , , 真)
参数1 = 正则.取子匹配文本 (1, 1, )
参数2 = 正则.取子匹配文本 (1, 2, )
rcall = 正则.取子匹配文本 (1, 3, )
地址 = “https://udb.duowan.com/registerV2/” + 取登录页面 (rcall) + “.do”
数据 = “url=&appid=1&” + 参数1 + “=” + 参数2 + “&rcall=” + rcall + “&username=” + 帐号 + “&password=” + 密码 + “&securityCode1=” + 验证码
返回内容 = 编码_Utf8到Ansi (网页_访问 (地址, 1, 编辑框2.内容, #头, 到字节集 (数据), 返回cookies, , , , 返回cookies, ))
.如果真 (寻找文本 (返回内容, “您当前的IP访问太频繁”, , 假) > 1)
    调试输出 (“IP限制”)
.如果真结束

.判断开始 (寻找文本 (返回内容, “正在登录”, , 假) > 1)
    返回 (真)
.默认
    返回 (假)
.判断结束


.子程序 _按钮1_被单击
.局部变量 号码, 文本型
.局部变量 i, 整数型

通用对话框1.类型 = 1
.如果真 (通用对话框1.打开 ())
    .计次循环首 (超级列表框1.取表项数 (), i)
        号码 = 号码 + 超级列表框1.取标题 (i - 1, 0) + “|” + 超级列表框1.取标题 (i - 1, 1) + #换行符
    .计次循环尾 ()
    写到文件 (通用对话框1.文件名, 到字节集 (号码))
.如果真结束


.子程序 _窗口1_将被销毁

结束 ()

.子程序 _单选框2_被单击

.如果真 (单选框2.选中)
    更新验证码 ()
.如果真结束

善者 慈悲心常在 无怨无恨 以苦为乐
默认压缩密码www.hifyl.com
文件分享密码问题:http://www.hifyl.com/read-htm-tid-4444.html
离线啊冲

只看该作者 沙发  发表于: 2016-08-30
  综合实例:
  
  YY系列 第二课 代码整理以及YY填表注册  讲师:小磊    QQ:742918299

  网页地址:https://udb.duowan.com/register.do

  目标:设计软件界面、整理零散代码、增加IP切换功能、增加网页填表注册

  填表优点:代码简单易于维护
  填表缺点:不够稳定且速度稍慢,无法多线程

  post优点:速度快、相对填表稳定支持多线程
  post缺点:分析封包过程相对繁琐,如果网页发生变动需要从头再次分析

  封包分析流程:抓包(一般为两次)→ 找到关键包→对比数据找出已知数据和未知数据→向上查找未知数据

  错误排除流程:检查提交地址→检查POST数据→检查cookies→检查附加协议头
善者 慈悲心常在 无怨无恨 以苦为乐
默认压缩密码www.hifyl.com
文件分享密码问题:http://www.hifyl.com/read-htm-tid-4444.html
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个