尝试写个QQ机器人

作者:V君 发布于:2014-10-29 21:22 Wednesday 分类:折腾手记

之前写kekeke的机器人还挺顺利的 直接小提琴+F12再爬爬脚本就摸出来了

现在, 一个蛋疼的ac揭示板常客建立了个群, 然后想出了个把聊天室和群串通的念头


■开始尝试吧


首先查阅许多相关资料, 然后创建项目并开设仓库开始码.

一开始掉落旧版本手机qq接口的坑, 基础代码实现之后才发觉 -- 不带群消息接口 

接下来转向现在仍然存活的WebQQ -- 使用模拟浏览器实现


关于WebQQ的资料并不多, 所幸找到个带有源码的实现 

不过有点要命的是这货竟然用VB.NET写

实在啃不下去就先编译然后用红门reflector把DLL打回C#, 修正标识符语法错误, 开始啃.

这代码已经相当陈旧, 一些URL现在已经有所不同 

修修改改调试, 代码风格略不能接受, 索性就扔一边作参考来重写 

目前已经弄清楚验证码(当然扔需要手动输入)和登录验证流程, 仓库里都有

(为此牺牲了两个马甲, 为啥不早点想到买炮灰啊 于是羊10买了100个, 让你封! 


\QBot

│  QBotController.cs

├─Common

│      CommonInst.cs

│      WebClientEx.cs

├─WebqInterface

│      AnalzyResult.cs

│      Jsons.cs

│      Urls.cs

└─WebqInterface.O

    │  Content_Type.cs

    │  Form_Verifying.cs

    │  WebQQ_Client.cs

    │  ...

    ├─Http

    │      Class_Http.cs

    │

    └─QQ_Encypt

            ClassByteBuffer.cs

            QQ.cs

废话扯完,先讲讲目前的实现吧

略去无关代码和繁琐的文件现在项目应该像右边这样的结构


WebqInterface.O命名空间底下的是用来参照金坷居士的实现

外层则是自己重新写, 


逻辑流程放控制器, 通篇没有字符串 乂目

将请求有关的字符串常量集中起来 解析结果也分开定义

这代码才叫爽~


目前只实现到登录验证

在登录后, poll前的几次请求卡关了

咕狗了下似乎是Cookie没整好 返回错误代码100000


就搬到这儿吧, 有新进展再更新 

毕竟只能用业余时间折腾 


最重要的是这个月再不po文就0篇了wwww


贴个图 乂目

点击查看原图


 

标签: 软件开发 C# QQ 机器人

引用地址:

评论:

wye
2014-11-08 00:54
这个……反正只需要获取群消息,其实可以hook qq的一个导出函数就行……
V君
2014-11-08 00:59
@wye:呃 还是要扯住个QQ实例, 如果使用这种方式实现就能放树莓上面跑 _(:з」∠)_

发表评论:

Powered by emlog 去你妹的备案 sitemap