精易论坛

标题: 想实现QQ自动登录~1秒登陆一次. [打印本页]

作者: 宝贝你变了    时间: 2012-1-2 19:52
标题: 想实现QQ自动登录~1秒登陆一次.
想实现QQ自动登录~1秒登陆一次。~~下面写法对吗
.版本 2
.支持库 eImgConverter
.支持库 dp1
.支持库 spec
.支持库 iext
.支持库 iconv

.程序集 _启动窗口_程序集
.程序集变量 user, 文本型
.程序集变量 事件组件, 客户

.子程序 __启动窗口_创建完毕

通用对话框1.初始目录 = 取运行目录 ()
载入 (窗口_验证码, _启动窗口, 假)

.子程序 还原为字节集, 字节集, , 将一串十六进制文本还原为字节集
.参数 文本, 文本型, , 如“00BFAD00AFD4FD4F9E054F9FF91FC5FF2076FBAFDB071044”,或者是“{206,210,202,199}”之类
.参数 十六进制, 逻辑型, 可空, 如果未指明则为十六进制文本,如果为假则为十进制文本
.局部变量 字节集, 字节集
.局部变量 i, 整数型
.局部变量 a, 整数型
.局部变量 临时文本, 文本型
.局部变量 临时数组, 文本型, , "0"

.如果真 (是否为空 (十六进制))
    十六进制 = 真

.如果真结束
字节集 = {  }
临时文本 = 文本
.如果 (十六进制)
    临时文本 = 子文本替换 (临时文本, “,”, , , , 真)
    临时文本 = 子文本替换 (临时文本, “{”, , , , 真)
    临时文本 = 子文本替换 (临时文本, “}”, , , , 真)
    .变量循环首 (1, 取文本长度 (文本), 2, i)
        a = 取十进制 (取文本中间 (文本, i, 2), 0)
        字节集 = 字节集 + 取字节集左边 (到字节集 (a), 1)
    .变量循环尾 ()
.否则
    临时文本 = 子文本替换 (临时文本, “{”, , , , 真)
    临时文本 = 子文本替换 (临时文本, “}”, , , , 真)
    临时数组 = 分割文本 (临时文本, “,”, )
    .变量循环首 (1, 取数组成员数 (临时数组), 1, i)
        a = 到数值 (临时数组 )
        字节集 = 字节集 + 取字节集左边 (到字节集 (a), 1)
    .变量循环尾 ()
.如果结束
返回 (字节集)

.子程序 取十进制, 整数型, , 将非十进制的标准格式文本转换成十进制整数值
.参数 欲转换的值, 文本型, , 欲转换的值,文本型!
.参数 数值类型, 整数型, 可空, 0,#十六进制;1,#十进制(默认);2,#八进制;3,#二进制
.局部变量 s, 整数型, , , 最终结果
.局部变量 a, 整数型, , , 中间变量
.局部变量 b, 整数型, , , 中间变量
.局部变量 c, 文本型, , , 中间变量
.局部变量 d, 整数型, , , 中间变量

欲转换的值 = 到小写 (欲转换的值)
.如果真 (是否为空 (数值类型))
    数值类型 = 1
.如果真结束
s = 0
.判断开始 (数值类型 = 0)
    a = 取文本长度 (欲转换的值)
    .变量循环首 (1, a, 1, b)
        c = 取文本中间 (欲转换的值, a - b + 1, 1)
        .如果真 (取代码 (c, ) ≤ 取代码 (“f”, ) 且 取代码 (c, ) ≥ 取代码 (“a”, ) 或 取代码 (c, ) ≤ 取代码 (“F”, ) 且 取代码 (c, ) ≥ 取代码 (“A”, ))
            .如果真 (取代码 (c, ) ≥ 取代码 (“A”, ) 且 取代码 (c, ) ≤ 取代码 (“F”, ))
                d = 取代码 (c, ) - 取代码 (“A”, ) + 10
            .如果真结束
            .如果真 (取代码 (c, ) ≥ 取代码 (“a”, ) 且 取代码 (c, ) ≤ 取代码 (“f”, ))
                d = 取代码 (c, ) - 取代码 (“a”, ) + 10
            .如果真结束

        .如果真结束
        .如果真 (取代码 (c, ) ≤ 取代码 (“9”, ) 且 取代码 (c, ) ≥ 取代码 (“0”, ))
            d = 到数值 (c)
        .如果真结束
        s = s + 求次方 (16, b - 1) × d
    .变量循环尾 ()
.默认

.判断结束
.判断开始 (数值类型 = 1)
    s = 到数值 (欲转换的值)
.默认

.判断结束
.判断开始 (数值类型 = 2)
    a = 取文本长度 (欲转换的值)
    .变量循环首 (1, a, 1, b)
        c = 取文本中间 (欲转换的值, a - b + 1, 1)
        .如果真 (取代码 (c, ) ≤ 取代码 (“7”, ) 且 取代码 (c, ) ≥ 取代码 (“0”, ))
            d = 到数值 (c)
        .如果真结束
        s = s + 求次方 (8, b - 1) × d
    .变量循环尾 ()
.默认

.判断结束
.判断开始 (数值类型 = 3)
    a = 取文本长度 (欲转换的值)
    .变量循环首 (1, a, 1, b)
        c = 取文本中间 (欲转换的值, a - b + 1, 1)
        .如果真 (取代码 (c, ) ≤ 取代码 (“1”, ) 且 取代码 (c, ) ≥ 取代码 (“0”, ))
            d = 到数值 (c)
        .如果真结束
        s = s + 求次方 (2, b - 1) × d
    .变量循环尾 ()
.默认

.判断结束
返回 (s)

.子程序 取验证码, 字节集
.参数 验证码文本字串, 文本型
.局部变量 验证码, 字节集

写到文件 (取运行目录 () + “\ameng.png”, 还原为字节集 (验证码文本字串))
转换到BMP (取运行目录 () + “\ameng.png”, 取运行目录 () + “\ameng.bmp”)
验证码 = 读入文件 (取运行目录 () + “\ameng.bmp”)
删除文件 (取运行目录 () + “\ameng.png”)
删除文件 (取运行目录 () + “\ameng.bmp”)
返回 (验证码)

.子程序 登录, , , 已创建的话 重新登录
.参数 帐号, 文本型
.参数 密码, 文本型
.局部变量 局部_客户, 客户

时钟1.时钟周期 = 100
置用户 (帐号, “查询是否已登录...”)
.如果真 (是否创建客户 (帐号) = 真)

    局部_客户 = 搜索客户 (帐号)
    置用户 (帐号, “正在断开连接...”)
    局部_客户.断开连接 ()
    置用户 (帐号, “正在复连...”)
    .如果 (连接 (局部_客户))
        置用户 (帐号, “正在登录...”)
        .如果 (发送 (局部_客户, “VER=1.4&CON=2&CMD=Login&SEQ=” + 标记 () + “&UIN=” + 帐号 + “&PS=” + 到大写 (取数据摘要 (到字节集 (密码))) + “&M5=1&LG=0&LC=812822641C978097&GD=5MWX2PF3FOVGTP6B&CKE=”))

            ' 置用户 (帐号, “>>>等待信息<<<”)
            ' 加入成员 (客户_数组, 局部_客户)
            调试输出 (“客户数:”, 取数组成员数 (客户_数组))
        .否则
            删除已创建客户 (帐号)
            置用户 (帐号, “登录失败!”)
            服务器1.发送数据 (user, “服务器挂机失败”, )
        .如果结束

    .否则
        置用户 (帐号, “复连失败!”)
    .如果结束
    ' 信息框 (“QQ:[” + 帐号 + “]已创建”, #警告图标, “阿蒙提示:”)
    返回 ()
.如果真结束
时钟1.时钟周期 = 100
置用户 (帐号, “创建登录用户...”)
.如果 (复制窗口组件 (客户1, 局部_客户))

    局部_客户.标记 = 帐号
    置用户 (帐号, “正在连接服务器...”)
    .如果真 (连接 (局部_客户) = 假)
        局部_客户.销毁 ()
        置用户 (帐号, “连接失败!”)
        服务器1.发送数据 (user, “服务器挂机失败”, )
        返回 ()
    .如果真结束
    置用户 (帐号, “正在登录...”)
    .如果 (发送 (局部_客户, “VER=1.4&CON=2&CMD=Login&SEQ=” + 标记 () + “&UIN=” + 帐号 + “&PS=” + 到大写 (取数据摘要 (到字节集 (密码))) + “&M5=1&LG=0&LC=812822641C978097&GD=5MWX2PF3FOVGTP6B&CKE=”))
        ' 置用户 (帐号, “>>>等待信息<<<”)
        加入成员 (客户_数组, 局部_客户)
        调试输出 (“客户数:”, 取数组成员数 (客户_数组))
        编辑框3.加入文本 (到文本 (取现行时间 ()) + “系统当前加入在线用户:” + 帐号 + “----服务器在线数” + 到文本 (取数组成员数 (客户_数组)))
        服务器1.发送数据 (user, “服务器挂机成功”, )
    .否则

        局部_客户.断开连接 ()
        局部_客户.销毁 ()
        置用户 (帐号, “登录失败!”)
        ' 信息框 (“登录失败,请稍候重试。”, #错误图标, “阿蒙提示:”)
    .如果结束
    事件转移 (局部_客户, 客户1)
.否则
    信息框 (“创建登录用户失败,请稍后重试。”, #错误图标, “阿蒙提示:”)
.如果结束


.子程序 搜索客户, 客户, , 在搜索调用前 请确保客户已创建!
.参数 QQ, 文本型
.局部变量 记次
.局部变量 局部_客户, 客户

.计次循环首 (取数组成员数 (客户_数组), 记次)
    .如果真 (客户_数组 [记次].标记 = QQ)
        局部_客户 = 客户_数组 [记次]
        跳出循环 ()
    .如果真结束

.计次循环尾 ()
返回 (局部_客户)

.子程序 是否创建客户, 逻辑型, , 判断指定QQ是否已经创建客户端
.参数 QQ, 文本型
.局部变量 记次

.计次循环首 (取数组成员数 (客户_数组), 记次)
    .如果真 (客户_数组 [记次].标记 = QQ)
        返回 (真)
        跳出循环 ()
    .如果真结束

.计次循环尾 ()
返回 (假)

.子程序 删除已创建客户, 逻辑型, , 删除并断开已创建的QQ客户
.参数 QQ, 文本型
.局部变量 记次

.计次循环首 (取数组成员数 (客户_数组), 记次)
    .如果真 (客户_数组 [记次].标记 = QQ)
        客户_数组 [记次].断开连接 ()
        删除成员 (客户_数组, 记次, )
        返回 (真)
        跳出循环 ()
    .如果真结束

.计次循环尾 ()
返回 (假)

.子程序 置用户, , , 不存在 自动创建
.参数 QQ, 文本型
.参数 状态文本, 文本型, 可空, 为空 保持不变
.参数 状态图片, 整数型, 可空, 为空则保存不变,0.离线 1.隐身 2.在线
.局部变量 表项

表项 = 超级列表框1.查找表项 (QQ, , , 1)
.如果真 (表项 = -1)
    表项 = 超级列表框1.插入表项 (, 到文本 (超级列表框1.取表项数 () + 1), , 0, , )  ' 默认离线图标
    超级列表框1.置标题 (表项, 1, QQ)
.如果真结束
.如果真 (是否为空 (状态文本) = 假)
    超级列表框1.置标题 (表项, 2, 状态文本)
.如果真结束
.如果真 (是否为空 (状态图片) = 假)
    超级列表框1.置状态图片 (表项, 状态图片)
.如果真结束
.如果真 (状态图片 = 2)  ' 在线的话 就置表项数值
    超级列表框1.置表项数值 (表项, 1)
.如果真结束


.子程序 连接, 逻辑型, , 连接到服务器 成功返回真
.参数 客户, 客户

返回 (客户.连接 (“211.136.236.88”, 14000))

.子程序 发送, 逻辑型
.参数 客户, 客户
.参数 内容, 文本型

返回 (客户.发送数据 (内容 + #换行符))

.子程序 标记, 文本型
.局部变量 seq, 整数型, 静态

.如果真 (seq = 0)
    seq = 10  ' 初始值为10
.如果真结束
seq = seq + 1
返回 (到文本 (seq))

.子程序 _按钮_登录_被单击

时钟1.时钟周期 = 100
登录 (编辑框1.内容, 编辑框2.内容)

.子程序 _客户1_连接断开

事件组件 = 取事件组件 ()
置用户 (事件组件.标记, “断开连接”, 0)
输出调试文本 (“断开服务器:” + 事件组件.标记)
事件组件.销毁 ()

.子程序 _客户1_数据到达
.局部变量 返回文本, 文本型
.局部变量 QQ, 文本型
.局部变量 类型_, 文本型

事件组件 = 取事件组件 ()
QQ = 事件组件.标记
返回文本 = 到文本 (编码转换 (事件组件.取回数据 (), #编码_UTF_8, #编码_GBK, ))
类型_ = 取指定内容 (返回文本, “&CMD=”, “&”)
调试输出 (QQ, 返回文本, 类型_)
.如果真 (寻找文本 (返回文本, “&UIN=” + QQ + “&RES=20”, , 假) ≠ -1 且 类型_ = “Change_Stat”)
    置用户 (QQ, “另一地点登录”, 0)
    ' 结束 ()

    返回 ()
.如果真结束
' “1009908653” | “VER=1.1&CMD=Server_Msg&SEQ=13&UIN=1009908653&RES=0&MN=1&MT=513&UN=10000&MG=DESC=手机腾讯网:%250a今晨1时36分,神舟八号与天宫一号飞行器成功完成首次交会对接,我国成为第三个掌握该技术的国家。%26RESPCONDITION=MANUAL%26RESPCONTENTS=%26RESPCONTENTTYPES=WAP%26RESPDESC=详情%26RESPDEST=http://info.3g.qq.com/g/s?aid%253dtemplate%2526tid%253dnews_s8dj%2526tid%253d10345%2526g_f%253d524%2526icfa%253dsubcr_mqq%26SUBJECT=神八天宫成功完成首次对接

' ” | “Server_Msg”

.判断开始 (类型_ = “VERIFYCODE” 且 取文本长度 (返回文本) > 70)  ' 验证码

    加入验证码 (QQ, 取验证码 (取指定内容 (返回文本, “&VC=”, #换行符)))

    置用户 (QQ, “需要验证码”)

.判断 (类型_ = “Login”)  ' 登录成功或失败

    ' VER=1.1&CMD=Login&SEQ=12&UIN=1587427614&RES=0&RS=1&RA=Password error!’失败
    .如果 (寻找文本 (返回文本, “Password error”, , 假) ≠ -1)
        输出调试文本 (“登录失败,密码错误。”)
        置用户 (QQ, “帐号或密码错误!”, 0)
    .否则
        输出调试文本 (“登录成功。”)
        ' 登录成功代码
        置用户 (QQ, “我在线上”, 2)  ' 顺便置状态图片

        ' 时钟_保持在线.时钟周期 = 150000  ' 2.5分钟/次

    .如果结束


.判断 (类型_ = “update_stat”)  ' 好友在线状态被改变

.默认
    ' 自己判断 类型_ 定义事件
.判断结束


.子程序 取指定内容, 文本型
.参数 全部内容, 文本型
.参数 左边文本, 文本型
.参数 右边文本, 文本型
.局部变量 临时位置, 整数型
.局部变量 总长度, 整数型
.局部变量 临时文本, 文本型

总长度 = 取文本长度 (全部内容)
临时位置 = 寻找文本 (全部内容, 左边文本, , 假) + 取文本长度 (左边文本)
临时文本 = 取文本中间 (全部内容, 临时位置, 总长度)
总长度 = 取文本长度 (临时文本)
临时位置 = 寻找文本 (临时文本, 右边文本, , 假) - 1
临时文本 = 取文本中间 (临时文本, 1, 临时位置)
返回 (临时文本)

.子程序 _时钟_保存用户在线_周期事件
.局部变量 记次

.计次循环首 (取数组成员数 (客户_数组), 记次)
    输出调试文本 (“保存在线: ” + 客户_数组 [记次].标记 + “ ,客户数: ” + 到文本 (取数组成员数 (客户_数组)) + “个”)
    .如果 (超级列表框1.取当前状态图片 (超级列表框1.查找表项 (客户_数组 [记次].标记, , , 1)) = 1)
        发送 (客户_数组 [记次], “VER=1.4&CON=1&CMD=Change_Stat&SEQ=” + 标记 () + “&UIN=” + 客户_数组 [记次].标记 + “&SID=&XP=C4CA4238A0B92382&ST=40”)
    .否则
        发送 (客户_数组 [记次], “VER=1.4&CON=1&CMD=Change_Stat&SEQ=” + 标记 () + “&UIN=” + 客户_数组 [记次].标记 + “&SID=&XP=C4CA4238A0B92382&ST=10”)
    .如果结束

.计次循环尾 ()

.子程序 __启动窗口_位置被改变

.如果真 (是否已创建 (窗口_验证码))
    窗口_验证码.左边 = 左边 + 宽度 ÷ 2 - 窗口_验证码.宽度 ÷ 2
    窗口_验证码.顶边 = 顶边 + 高度 ÷ 2 - 窗口_验证码.高度 ÷ 2
.如果真结束


.子程序 _按钮_导入_被单击
.局部变量 数据, 文本型
.局部变量 记次
.局部变量 行_数组, 文本型, , "0"
.局部变量 列_数组, 文本型, , "0"
.局部变量 分隔符, 文本型, , , 可以自定义分隔符,如:----

分隔符 = “----”
.如果真 (通用对话框1.打开 ())
    数据 = 到文本 (读入文件 (通用对话框1.文件名))
    行_数组 = 分割文本 (数据, #换行符, )
    .计次循环首 (取数组成员数 (行_数组), 记次)
        处理事件 ()
        .如果真 (寻找文本 (行_数组 [记次], 分隔符, , 假) ≠ -1)
            列_数组 = 分割文本 (行_数组 [记次], 分隔符, )
            .如果真 (取数组成员数 (列_数组) ≥ 2)
                登录 (列_数组 [1], 列_数组 [2])
                输出调试文本 (行_数组 [记次])
            .如果真结束

        .如果真结束

    .计次循环尾 ()
    .如果真 (取数组成员数 (行_数组) = 0 或 寻找文本 (数据, 分隔符, , 假) = -1)
        信息框 (“导入失败!” + #换行符 + “您打开的文件不是正确的格式。” + #换行符 + #换行符 + “格式: 帐号” + 分隔符 + “密码” + #换行符 + “每个帐号请按格式填写,每行代表一个帐号。”, #错误图标, “阿蒙提示:”)
    .如果真结束

.如果真结束


.子程序 _超级列表框1_检查框状态被改变
.参数 表项索引, 整数型
.参数 检查框状态, 整数型
.局部变量 局部_客户, 客户
.局部变量 QQ, 文本型

QQ = 超级列表框1.取标题 (表项索引, 1)
局部_客户 = 搜索客户 (QQ)
.如果 (超级列表框1.取表项数值 (表项索引) = 1)  ' 帐号已登录
    .判断开始 (检查框状态 = 0)
        发送 (局部_客户, “VER=1.4&CON=1&CMD=Change_Stat&SEQ=” + 标记 () + “&UIN=” + QQ + “&SID=&XP=C4CA4238A0B92382&ST=40”)
        ' 10.#在线 20.#离线 30.#离开或忙碌 40.#隐身
        置用户 (QQ, “隐身”, 1)

    .默认
        发送 (局部_客户, “VER=1.4&CON=1&CMD=Change_Stat&SEQ=” + 标记 () + “&UIN=” + QQ + “&SID=&XP=C4CA4238A0B92382&ST=10”)
        置用户 (QQ, “我在线上”, 2)
    .判断结束

.否则
    置用户 (QQ, “帐号未登录!”, 0)
.如果结束










.子程序 _服务器1_数据到达
.局部变量 临时数据, 文本型
.局部变量 分割数据, 文本型, , "0"

临时数据 = 到文本 (服务器1.取回数据 ())
分割数据 = 分割文本 (临时数据, “|”, )
.判断开始 (分割数据 [1] = “用户数据”)
    编辑框1.内容 = 取文本中间 (分割数据 [2], 6, 取文本长度 (分割数据 [2]) - 5)
    编辑框2.内容 = 取文本中间 (分割数据 [3], 10, 取文本长度 (分割数据 [3]) - 9)
    _按钮_登录_被单击 ()
.默认

.判断结束


.子程序 _服务器1_客户进入

user = 服务器1.取回客户 ()

.子程序 _时钟1_周期事件

时钟1.时钟周期 = 100






作者: C。    时间: 2012-1-2 19:56
LZ好样的,不过貌似QQ自己有自动登录的选项
作者: 宝贝你变了    时间: 2012-1-2 19:57
jechenjie1028 发表于 2012-1-2 19:56
LZ好样的,不过貌似QQ自己有自动登录的选项

想实现自动抢登~~~~~~~~
作者: C。    时间: 2012-1-2 19:58
宝贝你变了 发表于 2012-1-2 19:57
想实现自动抢登~~~~~~~~

0.0     =。=  
作者: 吾愛じ啃飯團ジ    时间: 2012-1-2 19:58
额.这个难度太高 我还不会 去学习啊POST 的吧
作者: 易团俊    时间: 2012-1-2 19:59
发这么长串源码。。你好无聊
作者: 宝贝你变了    时间: 2012-1-2 20:01
易团俊 发表于 2012-1-2 19:59
发这么长串源码。。你好无聊

{:3_227:}你写个短的我看看···哈哈~木有办法~求1秒循环登录例子额···
作者: 乜汻╮還恠噫    时间: 2012-1-2 20:09
哎!沒有利益可圖    路過算了!{:3_234:}
作者: 风吹屁屁    时间: 2012-1-2 20:16
嘿嘿  抢号的时候应该可以用的说
作者: songwy    时间: 2012-1-2 23:03
{:3_227:}{:3_227:}{:3_227:}喷血之作
作者: 168168    时间: 2012-1-3 16:20
支持一下楼主分享
作者: 快范≯之家℡    时间: 2012-3-13 14:05
{:3_230:}{:3_230:}{:3_230:}
作者: 鑫隆    时间: 2012-4-2 15:00
我想找批量登陆的源码  不知道哪有
作者: 暗夜·之刃    时间: 2012-4-2 19:13
啊啊啊啊啊啊啊啊啊
作者: 秋水长天    时间: 2012-5-21 13:25
好长的代码。
作者: suntao90    时间: 2012-7-10 17:18
{:3_233:}{:3_233:}{:3_233:}
作者: ル豪﹏    时间: 2012-7-22 18:43
那么麻烦
直接
客户1.发送数据 (“VER=1.4&CON=2&CMD=Login&SEQ=” + seq () + “&UIN=1234567” + “&PS=” + 到大写 (取数据摘要 (到字节集 (“7654321”))) + “&M5=1&LG=0&LC=812822641C978097&GD=5MWX2PF3FOVGTP6B&CKE=” + #换行符)

1234567为QQ号 7654321为密码
作者: agent    时间: 2012-9-14 20:01
我也就是看看而已!
作者: 浅唱钠蕜伤    时间: 2012-10-4 11:03
不知道能干嘛
作者: 137945    时间: 2018-9-9 23:23
感觉没什么用啊




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4