QAuxiliary icon indicating copy to clipboard operation
QAuxiliary copied to clipboard

[Bug] 显示设置禁言的管理会出现两条甚至更多条灰字

Open EatHatsuneShallots opened this issue 1 year ago • 9 comments

Steps to reproduce/复现步骤

产生禁言事件

Expected behaviour/预期行为

只显示一条灰字

Actual behaviour/实际行为

显示两条或多条灰字,其中一条是原来的

xxx被管理员禁言x分钟
xxx被xxx禁言x分

Xposed Framework you used/你使用的Xposed框架

NPatch 0.6.1

Your Android version/你使用的安卓系统版本

12S

QQ(TIM)版本/QQ(TIM) Version

9.0.0

Module Version/模块版本

904afa9475dcc3f5464438e483a3c7ba980e7ffe

Version and Other Requirements/版本和其他要求

  • [ ] I am using latest debug CI version of QAuxiliary and enable verbose log/我正在使用最新 CI 调试版本且启用详细日志
  • [X] The QQ I am using is an official release version, not a modified or beta version/我使用的 QQ 是官方发布的正式版本,而非修改版或测试版
  • [X] 我已经在 Issue Tracker 中找过我要提出的问题,没有找到相同问题。重复问题会被关闭。
  • [X] 我已知晓并同意,此处仅用于汇报主程序中存在的问题。若这个 Issue 是关于其他非程序本身问题,则我的 Issue 可能会被无条件自动关闭或/并锁定。
  • [X] 我已知晓并同意,如果我不按照模板提供的指示进行填写,则我的 Issue 可能会被无条件删除。

Logs/日志

1.5.1.r2208.904afa9
QQ9.0.0(5282)
PID: 19745, UID: 10452
cc.ioctl.hook.chat.GagInfoDisclosure
isInitialized: true
isInitializationSuccessful: true
isEnabled: true
isAvailable: true
isPreparationRequired: false
errors: 0

补充说明(可选)

~~在 QA 的提示中,被禁言者可能会(永久)变成 QQ 号~~ (已修复)

EatHatsuneShallots avatar Jul 04 '24 10:07 EatHatsuneShallots

被禁言者可能不显示昵称,只显示QQ号的bug应该在最新版 d59c61eb4fccbb3a2963a9db2aec2970254cc877 修了

HdShare avatar Jul 04 '24 14:07 HdShare

被禁言者可能不显示昵称,只显示QQ号的bug应该在最新版 d59c61eb4fccbb3a2963a9db2aec2970254cc877 修了

会显示用户的昵称,而不是显示群昵称

EatHatsuneShallots avatar Jul 06 '24 14:07 EatHatsuneShallots

会显示用户的昵称,而不是显示群昵称

QQ9.0.25版本以后,获取群昵称接口改了 还有显示两条是因为 1.一个是QQ 系统默认显示的 2.一个是QA hook相关信息后插入的 两个不在同一个地方 估计短时间内都无法解决

HdShare avatar Jul 06 '24 18:07 HdShare

还有显示两条是因为 1.一个是QQ 系统默认显示的 2.一个是QA hook相关信息后插入的

也许可以尝试直接 Hook 生成提示的类来彻底解决

EatHatsuneShallots avatar Jul 06 '24 18:07 EatHatsuneShallots

也许可以尝试直接 Hook 生成提示的类来彻底解决

hook提示类单纯屏蔽掉相关禁言提示信息? 但这样子容易误杀禁言信息, 显示禁言管理跟防撤回差不多 要在前台才可以获取相关信息并显示出来

HdShare avatar Jul 06 '24 18:07 HdShare

hook提示类单纯屏蔽掉相关禁言提示信息?

并不是屏蔽,是篡改要生成的提示文本

EatHatsuneShallots avatar Jul 06 '24 18:07 EatHatsuneShallots

并不是屏蔽,是篡改要生成的提示文本

这就是我上面说的,两者不在同一个地方。 生成提示文本的地方,貌似没有相关禁言信息 所以无法直接篡改

HdShare avatar Jul 06 '24 18:07 HdShare

我通过反编译的方式查看了 8.9.78 的代码,发现 Lcom/tencent/mobileqq/troop/utils/TroopGagMgr;->a(Ljava/lang/String;JJILjava/lang/String;Ljava/lang/String;Z)VLcom/tencent/mobileqq/troop/utils/TroopGagMgr;->b(Ljava/lang/String;Ljava/lang/String;JJIZZ)V 方法疑似是生成相关提示的方法,并发现 Lcom/tencent/mobileqq/troop/utils/TroopGagMgr;->m(Ljava/lang/String;)Z 是检查是否为管理员的方法

EatHatsuneShallots avatar Jul 06 '24 19:07 EatHatsuneShallots

我通过反编译的方式查看了 8.9.78 的代码

这几个位置正如我上面说的 有相关相关信息 但并不是生成提示的位置

HdShare avatar Jul 06 '24 19:07 HdShare