Files
notiMessage/docs/CHANGELOG.md
Mars 125dfe583b feat: Telegram 双通道抓取、PC 调试台与 Hook 后台转发修复
v2.2.1 更新说明:

- 新增 xposed-module(Telegram/微信/SQLite Hook),双 APK + LSPosed 作用域

- HookMessageReceiver 后台直接 DebugForwarder + goAsync,修复 notiMessage 退后台丢消息

- MessageLogStore 日志持久化;AppConfig 调试/上传开关;PC 调试台 debug-server

- 健康检查去掉联网限制;通知/Hook 通道增加诊断日志

- 安装脚本 install-full/configure-lsposed/start-debug-server;文档 CHANGELOG + HOOK_GUIDE
2026-07-02 16:50:12 +08:00

3.8 KiB
Raw Blame History

更新说明

v2.2.12026-07-02

修复Hook 通道在 notiMessage 后台时丢失消息

问题
TG 在前台、notiMessage 切到后台时Hook 虽能收到 Xposed 广播,但原先需经 startService 才转发到 PC。Android 8+ 会限制后台启动服务,导致 PC 调试台和日志经常收不到 [Hook/...] 消息,表现为「必须两个 App 都在当前页面才行」。

改动

模块 说明
HookMessageReceiver 收到广播后直接在 Receiver 内调用 DebugForwarder;使用 goAsync() 等待 HTTP 完成,避免进程被提前回收
DebugForwarder 增加完成回调与详细日志(成功 / HTTP 错误 / 网络失败)
NotificationService submitFromHook / requestStartMonitoring 改用 startForegroundService(正式上传模式);通知通道增加诊断日志
NotificationHealthCheckWorker 健康检查不再要求联网;每 15 分钟自动尝试恢复通知监听

诊断 logcat 标签

HookMessageReceiver   — Hook 广播到达 / 被跳过
DebugForwarder        — PC 转发结果
NotificationService   — 系统通知到达 / 空通知跳过
NotiHealthCheck       — 定时健康检查
adb logcat | findstr /i "HookMessageReceiver DebugForwarder NotificationService NotiHealthCheck"

验证步骤

  1. 安装新版主 Appscripts\install-debug.ps1
  2. 启动 PC 调试台:scripts\start-debug-server.ps1
  3. notiMessage 点「开始监听」后切到桌面
  4. 打开 TG 发消息 → PC 应出现 [Hook/xposed_telegram]

说明TG 在后台时仍走通知通道,需 TG 弹出系统通知。若 TG 被系统冻结或未弹通知,请给 TG / notiMessage 设「电池不受限制」,并确认群未静音。


v2.2 + Xposed v1.1.0

新功能

  • Telegram 专用 HookTelegramMessageHook):前台抓取已解密消息,支持文字 / 图片说明 / 群名
  • 双 APK 架构:主 App + xposed-moduleLSPosed 作用域需勾选 Telegram 与 notiMessage
  • PC 本地调试台debug-server/server.py,端口 8765按群/会话分组展示
  • MessageLogStore监听页日志持久化App 后台再打开可恢复历史
  • DebugForwarder:消息 POST 到 PCAppConfig.ENABLE_DEBUG_FORWARD
  • 安装脚本build-debug.ps1install-debug.ps1install-full.ps1configure-lsposed.py

配置(AppConfig.java

开关 当前默认值 含义
ENABLE_SERVER_UPLOAD false 正式后端上传
ENABLE_DEBUG_FORWARD true 转发到 PC 调试台
DEBUG_SERVER_URL http://127.0.0.1:8765 调试服务地址USB 用 adb reverse

双通道机制

场景 通道 日志标识
TG 后台 / 锁屏有系统通知 通知监听 无前缀
TG 前台(通常无通知) Xposed Hook [Hook/xposed_telegram]

已知限制

  • 通用 SQLite Hook 对 Telegram 无效(消息在加密 data 字段)
  • 监听包名须与实际安装一致,如 org.telegram.messenger.web
  • 空内容通知(纯图片无文字)会被跳过
  • Android Studio 直接 Run 只装主 App完整能力需 install-full.ps1

文档

  • 架构与扩展:docs/HOOK_GUIDE.md
  • Agent 说明:AGENTS.md

安装与升级

# 构建
powershell -ExecutionPolicy Bypass -File scripts\build-debug.ps1

# 安装双 APK
powershell -ExecutionPolicy Bypass -File scripts\install-debug.ps1

# 完整安装(含 LSPosed 作用域 + adb reverse + 电池白名单)
powershell -ExecutionPolicy Bypass -File scripts\install-full.ps1

# PC 调试台
powershell -ExecutionPolicy Bypass -File scripts\start-debug-server.ps1

升级 v2.2.1 后至少需重装主 App;若只改了主 App 代码Xposed 模块无需重装。