gh0u1l5 / wechatspellbook Goto Github PK
View Code? Open in Web Editor NEWWechat Spellbook 是一个使用Kotlin编写的开源微信插件框架,底层需要 Xposed 或 VirtualXposed 等Hooking框架的支持,而顶层可以轻松对接Java、Kotlin、Scala等JVM系语言。让程序员能够在几分钟内编写出简单的微信插件,随意揉捏微信的内部逻辑。
License: MIT License
Wechat Spellbook 是一个使用Kotlin编写的开源微信插件框架,底层需要 Xposed 或 VirtualXposed 等Hooking框架的支持,而顶层可以轻松对接Java、Kotlin、Scala等JVM系语言。让程序员能够在几分钟内编写出简单的微信插件,随意揉捏微信的内部逻辑。
License: MIT License
表示只想要隐藏好友功能
大神,问一下,我研究了源码后,想要实现一个功能,就是收到图片,视频可以实现自动下载,而不用每次都要点击查看原图,或视频点击之后才下载。可是实在是愚笨,找不到实现的入口,hook了几个方法,发现都不是。能不能指点一二,谢谢!!
环境:
VirtualXposed
微信6.6.6
一加5
Android 8.1
完整报错信息:
A/MicroMsg_Crash: Process: com.tencent.mm
Crash Thread: 19968(total:111)
Date/Time: 2108-05-12 +8.00 00:31:24.262
Live Time: 3s
Device: ONEPLUS A5000 android-27
Exception info:
Siginfo: errno:0, pid:20, uid:0, process:UNKNOWN
05-12 00:31:24.277 19968-19968/? A/MicroMsg_Crash: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: OnePlus/OnePlus5/OnePlus5:8.1.0/OPM1.171019.011/04241055:user/release-keys
pid: 19968, tid: 19968(main thread) >>> com.tencent.mm <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000014
05-12 00:31:24.304 19968-19968/? A/MicroMsg_Crash: #00 pc 0xa76b8 /system/lib/libart.so (art::OatQuickMethodHeader::ToDexPc(art::ArtMethod*, unsigned int, bool) const+4292395031)
#01 pc 0x159adf /system/lib/libart.so (art::FaultManager::IsInGeneratedCode(siginfo*, void*, bool)+722)
#02 pc 0x1595d5 /system/lib/libart.so (art::FaultManager::HandleFault(int, siginfo*, void*)+44)
#03 pc 0x5a11 /system/bin/app_process32 (???)
#04 pc 0x18cec /system/lib/libc.so (???)
#05 pc 0xe66ee /system/lib/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned int)+4292395109)
#06 pc 0x91af1 /system/lib/libart.so (???)
#07 pc 0x6f5bf /system/framework/arm/boot-core-oj.oat (oatexec+4293535167)
05-12 00:31:24.304 19968-19968/? E/jni crash monitor: GetCrashThreadJavaStack return null
05-12 00:31:24.995 19968-19968/? A/MicroMsg_Crash: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 19973 >>> thread:1 <<<
#00 pc 0x1904c /system/lib/libc.so (syscall+28)
#01 pc 0xad6e9 /system/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+88)
#02 pc 0x14e0c [anon:libc_malloc] (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 19974 >>> thread:2 <<<
#00 pc 0xbb0 /system/lib/libc.so (__rt_sigtimedwait+4294668300)
#01 pc 0x41cb /system/lib/libc.so (sigwait+4294848546)
#02 pc 0xfd28b /system/lib/libart.so (???)
#03 pc 0xfcea9 /system/lib/libart.so (art::SignalCatcher::WaitForSignal(art::Thread*, art::SignalSet&)+4292395192)
#04 pc 0xfbb09 /system/lib/libart.so (art::SignalCatcher::Run(void*)+4292395192)
#05 pc 0x2b26b /system/lib/libc.so (???)
#06 pc 0x1b573 /system/lib/libc.so (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 19975 >>> thread:3 <<<
#00 pc 0x1904c /system/lib/libc.s
05-12 00:31:24.995 19968-19968/? A/MicroMsg_Crash: (syscall+28)
#01 pc 0xad6e9 /system/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+88)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 19976 >>> thread:4 <<<
#00 pc 0x1904c /system/lib/libc.so (syscall+28)
#01 pc 0xad6e9 /system/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+88)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 19977 >>> thread:5 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0xada11 /system/lib/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long long, int)+108)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 19978 >>> thread:6 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0xada11 /system/lib/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long long, int)
108)
#02 pc 0x67dac [anon:libc_malloc] (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 19979 >>> thread:7 <<<
#00 pc 0x9bc /system/lib/libc.so (__ioctl+4294668296)
#01 pc 0x13ff /system/lib/libc.so (ioctl+4294848550)
#02 pc 0x3d655 /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+204)
#03 pc 0x3d761 /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+8)
#04 pc 0x3dcc3 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+38)
#05 pc 0x53135 /system/lib/libbinder.so (???)
#06 pc 0xd22d /system/lib/libutils.so (android::Thread::_threadLoop(void*)+144)
#07 pc 0x5da75 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+80)
#08 pc 0x2b26b /system/lib/libc.so (???)
#09 pc 0x1b573 /system/lib/libc.so (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 19980 >>> thread:8 <<<
#00 pc 0x9bc /system/lib
libc.so (__ioctl+4294668296)
#01 pc 0x13ff /system/lib/libc.so (ioctl+4294848550)
#02 pc 0x3d655 /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+204)
#03 pc 0x3d761 /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+8)
#04 pc 0x3dcc3 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+38)
#05 pc 0x53135 /system/lib/libbinder.so (???)
#06 pc 0xd22d /system/lib/libutils.so (android::Thread::_threadLoop(void*)+144)
#07 pc 0x5da75 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+80)
#08 pc 0x2b26b /system/lib/libc.so (???)
#09 pc 0x1b573 /system/lib/libc.so (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 19981 >>> thread:9 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0xada11 /system/lib/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long long, int)+108)
#02 pc 0x167fc [anon:libc_malloc] (???)
*** *
* *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 19986 >>> thread:10 <<<
#00 pc 0x9bc /system/lib/libc.so (__ioctl+4294668296)
#01 pc 0x13ff /system/lib/libc.so (ioctl+4294848550)
#02 pc 0x3d655 /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+204)
#03 pc 0x3d761 /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+8)
#04 pc 0x3dcc3 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+38)
#05 pc 0x53135 /system/lib/libbinder.so (???)
#06 pc 0xd22d /system/lib/libutils.so (android::Thread::_threadLoop(void*)+144)
#07 pc 0x5da75 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+80)
#08 pc 0x2b26b /system/lib/libc.so (???)
#09 pc 0x1b573 /system/lib/libc.so (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 19988 >>> thread:11 <<<
#00 pc 0x1904c /system/lib/libc.so (syscall+28)
#01 pc 0xad6e9 /system/lib
libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+88)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 19989 >>> thread:12 <<<
#00 pc 0x1904c /system/lib/libc.so (syscall+28)
#01 pc 0xad6e9 /system/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+88)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 19990 >>> thread:13 <<<
#00 pc 0x1904c /system/lib/libc.so (syscall+28)
#01 pc 0xad6e9 /system/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+88)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 19991 >>> thread:14 <<<
#00 pc 0x1904c /system/lib/libc.so (syscall+28)
#01 pc 0xad6e9 /system/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+88)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *
* *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 19992 >>> thread:15 <<<
#00 pc 0x1904c /system/lib/libc.so (syscall+28)
#01 pc 0xad6e9 /system/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+88)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 19993 >>> thread:16 <<<
#00 pc 0x1904c /system/lib/libc.so (syscall+28)
#01 pc 0xad6e9 /system/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+88)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 19994 >>> thread:17 <<<
#00 pc 0x1904c /system/lib/libc.so (syscall+28)
#01 pc 0xad6e9 /system/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+88)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 19995 >>> thread:18 <<<
#00 pc 0x1904c /system/lib/libc.s
(syscall+28)
#01 pc 0xad6e9 /system/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+88)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 19996 >>> thread:19 <<<
#00 pc 0x1904c /system/lib/libc.so (syscall+28)
#01 pc 0xad6e9 /system/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+88)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 19999 >>> thread:20 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0xada11 /system/lib/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long long, int)+108)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20001 >>> thread:21 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *
* *** *** *** *** *** *** ***
pid: 19968, tid: 20004 >>> thread:22 <<<
#00 pc 0x1904c /system/lib/libc.so (syscall+28)
#01 pc 0xad6e9 /system/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+88)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20006 >>> thread:23 <<<
#00 pc 0x199c /system/lib/libc.so (recvmsg+4294668296)
#01 pc 0xa6d63 /system/lib/libandroid_runtime.so (???)
#02 pc 0xa6aff /system/lib/libandroid_runtime.so (???)
#03 pc 0x45d9f5 /system/framework/arm/boot-framework.oat (oatexec+4293343733)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20008 >>> thread:24 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0xada11 /system/lib/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long long, int)+108)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 2
024 >>> thread:25 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20025 >>> thread:26 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20026 >>> thread:27 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20028 >>> thread:28 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0x2ac01 /system/lib/libc.so (???)
#02 pc 0x7e4dc [anon:libc_malloc] (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20029 >>> thread:29 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0x2a
01 /system/lib/libc.so (???)
#02 pc 0x3dc /data/data/io.va.exposed/virtual/data/app/com.tencent.mm/lib/libwechatxlog.so (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20030 >>> thread:30 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20032 >>> thread:31 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20033 >>> thread:32 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20034 >>> thread:33 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.
o (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20035 >>> thread:34 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20036 >>> thread:35 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20037 >>> thread:36 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20038 >>> thread:37 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20039 >>>
05-12 00:31:24.996 19968-19968/? A/MicroMsg_Crash: thread:38 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20041 >>> thread:39 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20042 >>> thread:40 <<<
#00 pc 0x1904c /system/lib/libc.so (syscall+28)
#01 pc 0x2ac01 /system/lib/libc.so (???)
#02 pc 0x4dfc <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20044 >>> thread:41 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20048 >>> thread:42 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0xada11 /system/lib/li
art.so (art::ConditionVariable::TimedWait(art::Thread*, long long, int)+108)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20049 >>> thread:43 <<<
#00 pc 0x1904c /system/lib/libc.so (syscall+28)
#01 pc 0xad6e9 /system/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+88)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20051 >>> thread:44 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0x2ac01 /system/lib/libc.so (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20052 >>> thread:45 <<<
#00 pc 0x1904c /system/lib/libc.so (syscall+28)
#01 pc 0x2ac01 /system/lib/libc.so (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20053 >>> thread:46 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0x2ac01 /system/lib/libc.so
???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20054 >>> thread:47 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0x2ac01 /system/lib/libc.so (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20055 >>> thread:48 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0x2ac01 /system/lib/libc.so (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20056 >>> thread:49 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0x2ac01 /system/lib/libc.so (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20059 >>> thread:50 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0x2ac01 /system/lib/libc.so (???)
#02 pc 0x4dfc <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20060 >>> thread:51 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#0
pc 0xada11 /system/lib/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long long, int)+108)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20061 >>> thread:52 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0xada11 /system/lib/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long long, int)+108)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20063 >>> thread:53 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20064 >>> thread:54 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20065 >>> thread:55 <<<
#00
pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20070 >>> thread:56 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20071 >>> thread:57 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20072 >>> thread:58 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20073 >>> thread:59 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20074 >>> thread:60 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20075 >>> thread:61 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20076 >>> thread:62 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20077 >>> thread:63 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0xada11 /system/lib/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long long, int)+108)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** ***
** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20078 >>> thread:64 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20080 >>> thread:65 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20082 >>> thread:66 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20084 >>> thread:67 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20085 >>> thread:68 <<<
#00 pc 0x880 /system/lib/libc
so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20086 >>> thread:69 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20087 >>> thread:70 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20088 >>> thread:71 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20089 >>> thread:72 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** ***
** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20091 >>> thread:73 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20092 >>> thread:74 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20093 >>> thread:75 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20094 >>> thread:76 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0xada11 /system/lib/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long long, int)+108)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** ***
*** ***
pid: 19968, tid: 20095 >>> thread:77 <<<
#00 pc 0x1904c /system/lib/libc.so (syscall+28)
#01 pc 0xad6e9 /system/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+88)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20096 >>> thread:78 <<<
#00 pc 0x1904c /system/lib/libc.so (syscall+28)
#01 pc 0xad6e9 /system/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+88)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20098 >>> thread:79 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20101 >>> thread:80 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *
* *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20106 >>> thread:81 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20111 >>> thread:82 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20112 >>> thread:83 <<<
#00 pc 0x9bc /system/lib/libc.so (__ioctl+4294668296)
#01 pc 0x13ff /system/lib/libc.so (ioctl+4294848550)
#02 pc 0x10111 /system/lib/libhwbinder.so (android::hardware::IPCThreadState::talkWithDriver(bool)+204)
#03 pc 0x1021d /system/lib/libhwbinder.so (android::hardware::IPCThreadState::getAndExecuteCommand()+8)
#04 pc 0x1083f /system/lib/libhwbinder.so (android::hardware::IPCThreadState::joinThreadPool(bool)+38)
#05 pc 0x17629 /system/lib/libhwbinder.so (?
?)
#06 pc 0xd22d /system/lib/libutils.so (android::Thread::_threadLoop(void*)+144)
#07 pc 0x5da75 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+80)
#08 pc 0x2b26b /system/lib/libc.so (???)
#09 pc 0x1b573 /system/lib/libc.so (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20122 >>> thread:84 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0xada11 /system/lib/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long long, int)+108)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20123 >>> thread:85 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0xada11 /system/lib/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long long, int)+108)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20124 >>> thread:86 <<<
#00 pc 0x88
/system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20125 >>> thread:87 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0xada11 /system/lib/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long long, int)+108)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20127 >>> thread:88 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0xada11 /system/lib/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long long, int)+108)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20129 >>> thread:89 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19
68, tid: 20134 >>> thread:90 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20141 >>> thread:91 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20142 >>> thread:92 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20143 >>> thread:93 <<<
#00 pc 0x1904c /system/lib/libc.so (syscall+28)
#01 pc 0xad6e9 /system/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+88)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20146 >>> thread:94 <<<
#00
pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0xada11 /system/lib/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long long, int)+108)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20147 >>> thread:95 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20154 >>> thread:96 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20155 >>> thread:97 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0xada11 /system/lib/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long long, int)+108)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** **
pid: 19968, tid: 20156 >>> thread:98 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0xada11 /system/lib/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long long, int)+108)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20157 >>> thread:99 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0xada11 /system/lib/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long long, int)+108)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20158 >>> thread:100 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20159 >>> thread:101 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0xada11 /system/lib/libart.so (art::ConditionVariable::TimedWait(art
:Thread*, long long, int)+108)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20160 >>> thread:102 <<<
#00 pc 0x1904c /system/lib/libc.so (syscall+28)
#01 pc 0x2ac01 /system/lib/libc.so (???)
#02 pc 0x124bc [anon:libc_malloc] (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20161 >>> thread:103 <<<
#00 pc 0x1904c /system/lib/libc.so (syscall+28)
#01 pc 0x2ac01 /system/lib/libc.so (???)
#02 pc 0xfa8fc <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20162 >>> thread:104 <<<
#00 pc 0x1904c /system/lib/libc.so (syscall+28)
#01 pc 0x2ac01 /system/lib/libc.so (???)
#02 pc 0xfa8fc <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20163 >>> thread:105 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwa
t+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20175 >>> thread:106 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668308)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20180 >>> thread:107 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0xada11 /system/lib/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long long, int)+108)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20181 >>> thread:108 <<<
#00 pc 0x19050 /system/lib/libc.so (syscall+32)
#01 pc 0xada11 /system/lib/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long long, int)+108)
#02 pc 0xffffffff <unknown> (???)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20183 >>> thread:109 <<<
#00 pc 0x880 /system/lib/libc.so (__epoll_pwait+4294668
08)
#01 pc 0x1b981 /system/lib/libc.so (epoll_pwait+60)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 19968, tid: 20184 >>> thread:110 <<<
get the stack fail
如题
微信 6.6.6 版本,com.tencent.mm.ui.w$a
类中
public final void af(int i) {
w.d("MicroMsg.LauncherUI.MainTabUI", "on page selected changed to %d", new Object[]{Integer.valueOf(i)});
w.v("MicroMsg.LauncherUI.MainTabUI", "reportSwitch clickCount:%d, pos:%d", new Object[]{Integer.valueOf(this.rLM), Integer.valueOf(i)});
//.......
}
public final void ag(int i) {
//.....
}
public final void pq(int i) {
//......
}
这3个方法签名完全一样,我想找出其中一个方法,该怎么做?有什么思路呢?
谢谢
作者在便利特色里面写到巫师使用一套API 自动分析 微信内部结构特征,避免手工适配 每个微信版本不同的类名、方法名。我就去看了下作者的源码,看了下这部分逻辑好像是根据不同版本参数类似规则进行过滤来找到方法,从而匹配不同版本的。但是具体实现我表示看不懂,作者能大致说下吗,这样我们了解了之后就可以在巫师的基础上加一下功能,同时也做下版本适配。
如何防止微信检测
10-08 14:15:12.378 11021-11060/? E/Xposed: kotlin.KotlinNullPointerException
at com.gh0u1l5.wechatmagician.spellbook.mirror.com.tencent.mm.storage.Classes$MsgInfoStorage$2.invoke(Classes.kt:22)
at com.gh0u1l5.wechatmagician.spellbook.mirror.com.tencent.mm.storage.Classes$MsgInfoStorage$2.invoke(Classes.kt:12)
at com.gh0u1l5.wechatmagician.spellbook.WechatGlobal$wxLazy$2.invoke(WechatGlobal.kt:72)
at kotlin.SynchronizedLazyImpl.getValue(Lazy.kt:131)
at com.gh0u1l5.wechatmagician.spellbook.mirror.com.tencent.mm.storage.Classes.getMsgInfoStorage(Classes.kt)
at com.gh0u1l5.wechatmagician.spellbook.mirror.com.tencent.mm.storage.Methods$MsgInfoStorage_insert$2.invoke(Methods.kt:16)
at com.gh0u1l5.wechatmagician.spellbook.mirror.com.tencent.mm.storage.Methods$MsgInfoStorage_insert$2.invoke(Methods.kt:12)
at com.gh0u1l5.wechatmagician.spellbook.WechatGlobal$wxLazy$2.invoke(WechatGlobal.kt:72)
at kotlin.SynchronizedLazyImpl.getValue(Lazy.kt:131)
at com.gh0u1l5.wechatmagician.spellbook.mirror.com.tencent.mm.storage.Methods.getMsgInfoStorage_insert(Methods.kt)
at com.gh0u1l5.wechatmagician.spellbook.hookers.Storage$onMessageStorageInsertHooker$1.invoke(Storage.kt:42)
at com.gh0u1l5.wechatmagician.spellbook.hookers.Storage$onMessageStorageInsertHooker$1.invoke(Storage.kt:16)
at com.gh0u1l5.wechatmagician.spellbook.util.XposedUtil$postHooker$1$1.invoke(XposedUtil.kt:50)
at com.gh0u1l5.wechatmagician.spellbook.util.XposedUtil$postHooker$1$1.invoke(XposedUtil.kt:14)
at com.gh0u1l5.wechatmagician.spellbook.util.XposedUtil$tryHook$2.invoke(XposedUtil.kt:35)
at com.gh0u1l5.wechatmagician.spellbook.util.XposedUtil$tryHook$2.invoke(XposedUtil.kt:14)
at com.gh0u1l5.wechatmagician.spellbook.util.BasicUtil$tryAsynchronously$1.invoke(BasicUtil.kt:33)
at com.gh0u1l5.wechatmagician.spellbook.util.BasicUtil$tryAsynchronously$1.invoke(BasicUtil.kt:9)
at kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:18)
当然,对于诸位想要基于我的项目做商业项目的开发者,也请尽管拿去。我不喜欢道德绑架别人,也不认为这有什么绑架的必要。但是如果你在闲暇时间能够贡献十几行代码、修复些你发现的Bug,那就已经十分感激。
我对这句话的理解可能有误,如果按照商业项目的话,可能有copyleft的问题吧。
不知道未来是继续GPL还是会换到其他的协议?
我的微信版本是6.7.3,实际那个Alert的Toast是可以弹出来的,但是马上微信就会crash,应该是被微信检测出来了吧,请问我有办法绕过检测么
感谢开源!
我想请问
不知道能否hook微信的http请求的函数呢?
比如图片之类或者文字之类的post等等http的请求
我想应该是透过某一个微信写了一个类(比如dataService)来做这一件事吧?(基于我浅薄开发angularjs的经验...)
不知道可否找到这个类并且hook之?
这样就能看到https以前的请求长啥样子了...
机型:Nexus 6
MM版本:6.6.3
Android版本:8.1
不管是IMessageStorageHook还是IDatabaseHook都会直接造成微信ANR。
调用方式使用的Java方式,只是简单的实现了一下 XposedBridge.log
if (isImportantWechatProcess(lpparam))
-> if (isImportantWechatProcess(lpparam))
,最后一个括号为全角
Operation<Long?>
-> Operation<Long>
if (Spellbook.isImportantWechatProcess(lpparam)) {
-> if (SpellBook.isImportantWechatProcess(lpparam)) {
,book
应改为 Book
WechatBotXposed 用 最新版的 spellbook 自动回复消息, 微信直接闪退
我的使用场景是这样的
//---------------LaunchUIHook---------------
public class LaunchUIHook implements IActivityHook {
@OverRide
public void onMMActivityOptionsMenuCreated(@NotNull Activity activity, @NotNull Menu menu) {
XposedBridge.log("LaunchUIHook: onMMActivityOptionsMenuCreated");
}
@Override
public void onActivityCreating(@NotNull Activity activity, @Nullable Bundle savedInstanceState) {
XposedBridge.log("LaunchUIHook: onActivityCreating");
}
@Override
public void onActivityStarting(@NotNull Activity activity) {
XposedBridge.log("LaunchUIHook: onActivityStarting");
}
@Override
public void onActivityResuming(@NotNull Activity activity) {
XposedBridge.log("LaunchUIHook: onActivityResuming");
}
}
//---------------LaunchUI---------------
public class LaunchUI extends LaunchUIHook {
@Override
public void onMMActivityOptionsMenuCreated(@NotNull Activity activity, @NotNull Menu menu) {
XposedBridge.log("LaunchUI: onMMActivityOptionsMenuCreated");
}
@Override
public void onActivityStarting(@NotNull Activity activity) {
XposedBridge.log("LaunchUI: onActivityStarting");
}
}
如上面两个类,我想在父类LaunchUIHook实现一些默认方法,然后再子类LaunchUI上在重写部分方法实现某些具体业务,注册插件子类LaunchUI对象。然而发现父类的onActivityCreating、onActivityResuming方法都没有触发到,在spellbook源码打log发现EventCenter里
private fun Any.hasEvent(event: String) =
this::class.java.declaredMethods.any { it.name == event }
推测在这里导致连钩子都没有挂上,从而父类LaunchUIHook的方法都没法触发。
我把declaredMethods改成methods确保连父类方法都读取,试验成功,log都能按照预想的方式打印出来了。
刚看此框架第二天,不知道这样魔改会不会引起问题,不知道是否出于某些考虑而采用declaredMethods?
这个开源项目代码有多少M啊,我下一百多M都没下好,按理说都是代码应该很快下完啊。。
可以针对某个群或某个人自动回复消息。
只看到有监听消息的接口,也监听到了消息内容。
想实现回复功能。谢谢。。
菜鸟求助,有没有人愿意和我交流一下,qq1769479312
IDatabaseHook
的 onDatabaseInserted
可以获取新添加的消息,但是 onDatabaseQueried
无法获取查询的,现在想要拿到所有的聊天记录。
还有,同样遇到使用 IMessageStorageHook
无法收到消息。
Database中onExecuteHooker的"beforeHookedMethod"用“notifyForBypassFlags”,
只要实现了IDatabaseHook,其中的“onDatabaseExecuting”的默认值是false,
"notifyForBypassFlags"方法中“notifyForResults”得到的就是一个{false,……}的list,
any方法执行得到的值就会是true,
那么微信数据库的“executeSql”方法就一定会被绕过,无法执行原生方法
我的测试是微信【设置-聊天-清空聊天记录】的操作,一定会被拦截无法成功执行
手机环境小米5 android 6.0.1
群消息的拦截啥的,好像hook失败,不起作用,应该是微信访问SQLite的方式发生了变更造成的,只是不晓得该如何进行hook,还请方便的时候帮忙解答下吧,多谢了!
WechatSpellbook在7.0.0以上的微信版本中parse apk会失败,原因是因为7.0.0的apk大小有90+MB,2s的初始化时间不足以把整个类树给parse出来。如果有需求7.0.0以上版本的同学可以自行把源码里的初始化限制放宽。
请问黑屏问题有解决思路吗? 大概是哪一块逻辑导致的
作者你好,我是刚刚接触WechatSpellbook框架的新人。在使用中遇到了这样一个问题:在0.0.3版本中的框架中,使用IMessageStorageHook该接口的 onMessageStorageInserted方法拦截下来的消息是会在微信的聊天界面中正常显示的。可是现在最新的0.0.6版本中,虽然可以拦截到别人发的消息,但是微信界面并没有任何消息提醒,似乎连插入数据库的操作都没有了。而且自己发送消息给别人的话还会导致微信闪退,我使用的微信版本是6.6.7,但我尝试过就版本的6.13.7也存在这样的问题,应该是作者您对框架进行了一些修改吧。如果我想使用新版本的框架去实现拦截消息,并且让微信能正常使用,需要做些什么改变呢?麻烦您了!
在beforeHookedMethod 中使用 EventCenter.notifyForBypassFlags()这个方法可能存在问题, action 参数默认返回false, 可能会导致 afterHookedMethod 中返回值为null
登录微信闪退应该就是这个原因导致
原始代码
inline fun notifyForBypassFlags() {
val shouldBypass = notifyForResults(event, action).any()
}
修改点
inline fun notifyForBypassFlags() {
val shouldBypass = notifyForResults(event, action).any {
it
}
}
我用教程的方法hook6.7.3的接受消息,一直报 java.lang.Error: Invalid wxClasses
需要的联系qq:2138850473
正在学习安卓逆向,希望能提供点逆向的小技巧。O(∩_∩)O谢谢
本人手机为一加5,之前一直想折腾Xposed框架,但由于要解锁BL一直未尝试。
在接触到VirtualXposed之后开始尝试,不巧那时候微信巫师在上面运行不是很完善。
索性解BL刷上了Magisk,后续又安装了Systemless版的Xposed,开始了愉快地搞机。
Magisk安上之后手机一切正常,但由于模块太少。又安装上Xposed,但安装之后工商银行及静读天下无法正常运行,偶尔卡卡的,不知是何原因,大神若是知道有劳解释一下。
本人对搞机很有兴趣,后续准备写些模块解决日常需求。个人感觉Magisk在7.1上表现相对较好,我想请教开发过Xposed模块的大神们,将Xposed模块移植至Magisk工程量如何呢?
在这里希望此框架后续可以支持Magisk框架,十分感谢。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.