LunaFox 是一套 QQ NT 内存消息捕获 → OneBot v11 协议端 框架。 不碰数据库、不改 QQ 文件,在 QQ 自己的线程上只读序列化参数, 落盘为任何语言都能消费的 JSONL 分段流,并提供身份库、 机器人框架、WebUI 总控制台与真实发送能力。
* 全称 Lunatic Fox。命名过程经过了充分的头脑风暴,共耗时 4 秒。 ** 「只读」指我们主观上只读;客观上发生了什么,以 QQ 的心情为准。 *** 「0 反检测」是精确值,不是夸大宣传。
每一个数字都来自真实的开发过程,可以在仓库里逐一复核。 我们坚信数据驱动,正如我们坚信别的东西驱动不了。
从内存捕获到协议输出的完整链路。每个模块都可以单独跑, 但它们更喜欢一起跑,显得热闹。
在 QQ 主进程内 Hook N-API 调用,运行时遍历导入表定位 napi_call_function,只读序列化参数。不改 QQ 文件、不碰 QQdata。
hook ↔ Python 之间只交换 wrk/ 下的文件:JSONL 流、req/res 请求桥、心跳日志。进程崩溃可恢复,重启可续传。
一个账号一个 pid、一套 stream / send / hook_config 目录。WebUI 发送强制按账号路由,多账号未选目标直接拒绝。
主进程发送泵读取 req-*.json,调用 msgService 发送文本 / @ / 图片 / 文件,并写回结果。发送结果还支持 hook 流回读二次确认。
仅 WebSocket:正向服务端 + 反向客户端,数组消息段,多账号多实例。发送、群信息、群成员、群禁言等 action 已落地。
Vue 3 + Element Plus:控制台 / 聊天调试 / Hook 管理 / OneBot 配置 / 机器人管理。一键启动、一键注入、一键停止,一键都不用打开命令行。
从 QQ 内存里的一个回调,到你 OneBot 应用收到的事件,全程不超过四个环节。 每个环节都有心跳、自愈和日志,出问题时至少知道该怪谁。
唯一 DLL 副本 + 按 pid 的 ini 配置,提权代理远程线程加载。DLL 先缓存自身路径,再从 PEB 摘链隐身。
IAT 补丁进回调,只序列化 fire 事件,按 msgId+elements 判定消息,写入分段 JSONL,每 5 次心跳自检 IAT。
身份库学习 uid↔uin↔昵称,规范化为 23 字段结构,喂给机器人、WebUI 与 OneBot 实例。
Python 写 req 文件,QQ 主进程里的发送泵执行真实发送并写回 res。全程可重试、可审计。
我们做了一次严谨的竞品分析,分析方法是认真列了一张表。
| 维度 | LunaFox | 直接读数据库 | 截图 + OCR |
|---|---|---|---|
| 对 QQ 文件的改动 | 0 | 没有改动,但也没有边界感 | 0以及 0 条有用数据 |
| 版本脆弱性 | 中升级后跑 compat_check.py 再说话 | 高表结构一变就当场去世 | 不存在脆弱性,因为根本没在工作 |
| 消息完整度 | 文字/图片/表情/@/回复/ark/合并转发/撤回 | 看命 | 取决于显示器分辨率 |
| 部署难度 | 双击 launcher.cmd,一次 UAC | 破解加密,祝你好运 | 需要先有一台电脑 |
| 封号风险 | 必封0 反检测的忠实兑现;诚实是我们最后的反检测 | 大概率没有但你会先输给加密 | 基本没有,也没什么用 |
| 开发者剩余发量 | 茂密因为 0 人工代码 | 稀疏 | 浓密,但精神状态存疑 |
诚实回答每一个问题,包括不该诚实的那些。
tools/compat_check.py,
它能定位「注入成功但其实没捕获」的静默假成功,FAIL 时会附修复建议。
我们的兼容性承诺是:我们会承诺努力。
IsWow64Process2 明确识别并拒绝,不会浪费你的时间。
拒绝得很干脆,比大多数面试官都干脆。
wrk/hook_disabled 立即生效),
彻底移除内存里的 DLL 必须重启 QQ(launcher 菜单 [4] 或 [6])。
嫁出去的女儿泼出去的水,DLL 也一样。
wrk/ 目录里。
我们不使用 Cookie,因为连数据库都不碰。
你已加入 LunaFox 内测等候名单。
你当前排队在:
前面还有 114,513 位用户,其中约 114,513 位已经不再等了。 按当前开放速度(0 人 / 年),你的预计等待时长为 永久。
本项目永远不会开放使用,本弹窗是整个产品中唯一会准时出现的功能。 排队号是随机生成的,但巧合的是每次都是 114514。