.版本 2
.支持库 xplib
.支持库 EThread
.支持库 dp1
.程序集 窗口程序集1
.程序集变量 QQ, 文本型
.程序集变量 验证码, 文本型
.程序集变量 验证图, 字节集
.程序集变量 线程句柄, 整数型, , "0"
.程序集变量 qq集, 文本型, , "0"
.程序集变量 客户, 网络套接字类
.子程序 __启动窗口_创建完毕
XP风格 (1)
.子程序 _按钮1_被单击
启动线程 (&登录, , )
.子程序 登录
.局部变量 句柄, 整数型
.局部变量 id, 整数型
.局部变量 返回文本, 文本型
.局部变量 PS, 文本型
置随机数种子 ()
QQ = 编辑框1.内容
加入成员 (qq集, QQ)
PS = 到大写 (取数据摘要 (到字节集 (编辑框2.内容)))
客户.创建 ()
客户.绑定 (0)
.如果 (客户.连接 (“58.60.12.177”, 14000) = 假)
输出调试文本 (“[” + QQ + “]连接服务器失败!”)
返回 ()
.否则
.如果结束
客户.发送 (十六进制文本到字节集_光庆版 (文本到十六进制封包 (“VER=1.4&CON=1&CMD=Login&SEQ=” + 到文本 (取随机数 (200, 299)) + “&UIN=” + QQ + “&PS=” + PS + “&M5=1&LG=0&LC=2EC70D1101DB674F&GD=JTAIAHW97YPSYRPV&CKE=”) + “0D0A”))
启动线程 (&监视封包, id, 句柄)
加入成员 (线程句柄, 句柄)
.子程序 监视封包
.参数 id, 整数型
.局部变量 第X条, 整数型
.局部变量 发送内容, 文本型
.局部变量 发送文本分割, 文本型, , "0"
.局部变量 seq, 文本型
.局部变量 好友分割, 文本型, , "0"
.局部变量 文本, 文本型
.局部变量 数据包, 字节集
.局部变量 a, 整数型
置随机数种子 ()
.判断循环首 (客户.接收 (数据包, ))
文本 = UTF8转ANSI (数据包)
QQ = 取指定内容_MARS (文本, “&UIN=”, “&”)
输出调试文本 (文本)
输出调试文本 (QQ)
.如果 (取指定内容_MARS (文本, “&CMD=”, “&”) = “Login”)
.如果 (取指定内容_MARS (文本, “&RES=”, “&”) = “0” 且 取指定内容_MARS (文本, “&RS=”, “&”) = “0”)
输出调试文本 (“[” + QQ + “]登录完成,获取好友中...”)
客户.发送 (十六进制文本到字节集_光庆版 (文本到十六进制封包 (“VER=1.4&CON=1&CMD=Query_Stat2&SEQ=” + 到文本 (取随机数 (200, 299)) + “&UIN=” + QQ + “&SID=&XP=C4CA4238A0B92382&CM=2&UN=0”) + “0D0A”))
.否则
输出调试文本 (“[” + QQ + “]” + “登录失败!原因:” + 取指定内容_MARS (文本, “&RA=”, “”))
.如果结束
.否则
.如果 (取指定内容_MARS (文本, “&CMD=”, “&”) = “VERIFYCODE”)
.如果 (寻找文本 (文本, “&VC”, , 假) > 0)
输出调试文本 (“[” + QQ + “]需要或再次需要输入验证码”)
输出调试文本 (取指定内容_MARS (文本, “&VC=”, “”))
验证图 = 十六进制文本到字节集_光庆版 (到大写 (子文本替换 (取指定内容_MARS (文本, “&VC=”, “”), #换行符, “”, , , 真)))
载入 (验证码窗口, , 真)
客户.发送 (十六进制文本到字节集_光庆版 (文本到十六进制封包 (“VER=1.4&CON=1&CMD=VERIFYCODE&SEQ=” + 到文本 (取随机数 (200, 299)) + “&UIN=” + QQ + “&SID=&XP=null&SC=2&VC=” + 验证码) + “0D0A”))
.否则
输出调试文本 (“[” + QQ + “]验证码输入正确。”)
.如果结束
.否则
.如果 (取指定内容_MARS (文本, “&CMD=”, “&”) = “QUERY_STAT2”)
好友分割 = 分割文本 (子文本替换 (取指定内容_MARS (文本, “&UN=”, “”), #换行符, “”, , , 真), “,”, )
.如果 (取数组下标 (好友分割, ) = 0)
输出调试文本 (“[” + QQ + “]获取好友完成,没有在线好友。”)
返回 ()
.否则
输出调试文本 (“[” + QQ + “]获取好友完成,共有” + 到文本 (取数组下标 (好友分割, )) + “名在线好友。”)
.如果结束
列表框1.清空 ()
.计次循环首 (取数组下标 (好友分割, ), a)
列表框1.加入项目 (好友分割 [a], )
.计次循环尾 ()
.否则
.如果结束
.如果结束
.如果结束
.判断循环尾 ()
.子程序 _按钮2_被单击
客户.发送 (十六进制文本到字节集_光庆版 (文本到十六进制封包 (“VER=1.4&CON=1&CMD=CLTMSG&SEQ=” + 到文本 (取随机数 (200, 250)) + “&UIN=” + QQ + “&SID=&XP=C4CA4238A0B92382&UN=” + 列表框1.取项目文本 (列表框1.现行选中项) + “&MG=” + 到文本 (ANSI转UTF8 (编辑框3.内容))) + “0D0A”))
.子程序 _编辑框1_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
编辑框1.被选择字符数 = 取文本长度 (编辑框1.内容)
.子程序 _编辑框2_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
编辑框2.被选择字符数 = 取文本长度 (编辑框2.内容)
QQ协议源码
手机qq协议+易语言模块
易语言qq协议
为什么需要连接服务器?盗号吗?tcp协议盗号?