基于Xposed的QQ机器人方案

得益于OpenShamrock模块

Posted by 浅唱 on January 28, 2024

需求背景

我运营着校园吐槽墙,从数年前一直采用易语言的方案,机器人框架换过数十款,每次都需要搬运代码到新的 sdk 中,直到最近实在找不到免费的能用的易语言机器人框架了,通过查阅相关的资料,得知这是一个永恒的猫捉老鼠。
易语言框架是基于解析解析实现的,而腾讯不断封锁旧协议导致易语言机器人框架一直需要无限更新。
而新的 QQ 客户端采用了前后端分离的模式,但技术尚不成熟,网友称是 QQ 机器人的未来。采用 Hook 的方式抓取后端的 API,直接模仿真实的 QQ 客户端请求,但不确定未来腾讯会采取何种方式封锁。 成熟的 Xposed 生态,采用 Hook 的方式,找到了 Shamrock 模块可以支持基于标准的 OneBot 协议开发自己的机器人。

模块功能

太牛逼啦 支持多种方式自定义请求,采用标准的 OneBot 12 的协议,后端可以使用任意语言进行开发,本来使用 Python 做被动 WebSocket,但是很遗憾我没有一个可以高性能的 Windows 设备来运行 mumu 模拟器,因此把模块安装在手机上,QQ 进程可能被杀死,非高可用。

支持 mumu 模拟器 有模拟器专用的红面具,安装上 Lsposed 再安装模块即可运行。高可用!

参考文章

One Bot 12 标准 模块文档