[Bug] 批量撤回消息失效
- Dominant language
- Java
- Stars
- 5.7k
- Forks
- 416
- Avg merge
- 10d 4h
- Merged PRs (30d)
- 4
Description
### 复现步骤 / Steps to reproduce
-
### 预期行为 / Expected behaviour
应触发
### 实际行为 / Actual behaviour
无法触发
### 你使用的Xposed框架 / Xposed Framework you used
Ksu-JM10.0.1/7115
### 你使用的安卓系统版本 / Your Android version
15
### QQ(TIM) 版本 / QQ(TIM) Version
9.2.0.28325(10970)
### 模块版本 / Module Version
1.5.8.r2711.7ac9115(2711)
### 版本和其他要求 / Version and Other Requirements
- [x] 我正在使用最新 CI 调试版本且启用详细日志 / I am using latest debug CI version of QAuxiliary and enable verbose log
- [x] 我使用的 QQ 是官方发布的正式版本,而非修改版或测试版 / The QQ I am using is an official release version, not a modified or beta version
- [x] 我已经在 [Issue Tracker](https://github.com/cinit/QAuxiliary/issues) 中找过我要提出的问题,没有找到相同问题。重复问题会被关闭。
- [x] 我已知晓并同意,此处仅用于汇报主程序中存在的问题。若这个 Issue 是关于其他非程序本身问题,则我的 Issue 可能会被无条件自动关闭或/并锁定。
- [x] 我已知晓并同意,如果我不按照模板提供的指示进行填写,则我的 Issue 可能会被无条件删除。
### 日志 / Logs
1.5.8.r2711.7ac9115
QQ9.2.0(10970)
PID: 16034, UID: 10486
me.ketal.hook.MultiActionHook
isInitialized: true
isInitializationSuccessful: false
isEnabled: true
isAvailable: true
isPreparationRequired: false
errors: 1
java.lang.ClassNotFoundException: DexTarget: MultiSelectBarVM
at io.github.qauxv.util.dexkit.DexKit.requireClassFromCache(DexKit.kt:139)
at me.ketal.hook.MultiActionHook.hookNt(MultiActionHook.kt:167)
at me.ketal.hook.MultiActionHook.initOnce$lambda$1(MultiActionHook.kt:97)
at me.ketal.hook.MultiActionHook.$r8$lambda$0bKv8UzMMf6HPxRSz4-Lco9pCzA(MultiActionHook.kt:0)
at me.ketal.hook.MultiActionHook$$ExternalSyntheticLambda10.invoke(R8$$SyntheticClass:0)
at xyz.nextalone.util.HookUtilsKt.throwOrTrue(HookUtils.kt:150)
at me.ketal.hook.MultiActionHook.initOnce(MultiActionHook.kt:95)
at io.github.qauxv.hook.BaseFunctionHook.initialize(BaseFunctionHook.kt:64)
at io.github.qauxv.core.InjectDelayableHooks.step(InjectDelayableHooks.java:216)
at io.github.qauxv.core.MainHook.performHook(MainHook.java:169)
at io.github.qauxv.poststartup.StartupRoutine.execPostStartupInit(StartupRoutine.java:79)
at io.github.qauxv.poststartup.StartupHook.execStartupInit(StartupHook.java:73)
at io.github.qauxv.poststartup.StartupHook$1.afterHookedMethod(StartupHook.java:140)
at io.github.qauxv.util.xpcompat.WrappedCallbacks$WrappedHookCallback.afterHookedMember(WrappedCallbacks.java:81)
at io.github.qauxv.loader.sbl.lsp100.Lsp100HookWrapper$Lsp100HookAgent.handleAfterHookedMethod(Lsp100HookWrapper.java:411)
at io.github.qauxv.loader.sbl.lsp100.dyn.Lsp100CallbackProxy$P0000000051.after(Lsp100CallbackProxy.java:57)
at java.lang.reflect.Method.invoke(Native Method)
at org.lsposed.lspd.impl.LSPosedBridge$NativeHooker.callback(Unknown Source:252)
at LSPHooker_.run(Unknown Source:11)
at com.tencent.qqnt.startup.NtStartupDispatcher.c(P:24)
at com.tencent.qqnt.startup.NtStartupDispatcher.a(P:1)
at com.tencent.qqnt.startup.NtStartupDispatcher$dispatcher$2.invoke(P:2)
at com.tencent.qqnt.startup.NtStartupDispatcher$dispatcher$2.invoke(P:1)
at com.tencent.qqnt.startup.c.f(P:7)
at com.tencent.qqnt.startup.c.a(P:1)
at com.tencent.qqnt.startup.b.run(P:3)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1251)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:668)
at java.lang.Thread.run(Thread.java:1012)
at com.tencent.thread.monitor.plugin.proxy.BaseThread.run(P:16)
### 补充说明(可选) / Additional information (optional)
_No response_
Contributor guide
Research direction
Start with me/ketal/hook/MultiActionHook.kt around hookNt at line 167 and follow the DexKit.requireClassFromCache call. Investigate why DexTarget: MultiSelectBarVM is unavailable for QQ 9.2.0.28325, using the provided initialization log as the reproduction evidence. Done means the hook initializes successfully and batch message recall triggers.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100