Skip to content

Commit 24e67b7

Browse files
committed
chore(WechatHooker): comment temporarily
1 parent 21d166c commit 24e67b7

2 files changed

Lines changed: 70 additions & 3 deletions

File tree

app/src/main/java/net/fosky/sticker/sticker_sword/hook/entity/WechatHooker.kt

Lines changed: 69 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@
2222
package net.fosky.sticker.sticker_sword.hook.entity
2323

2424
import com.highcapable.yukihookapi.hook.entity.YukiBaseHooker
25+
import com.highcapable.yukihookapi.hook.factory.allConstructors
26+
import com.highcapable.yukihookapi.hook.factory.allMethods
27+
import com.highcapable.yukihookapi.hook.factory.method
28+
import com.highcapable.yukihookapi.hook.log.YLog
2529
import net.fosky.sticker.sticker_sword.const.PackageName
2630

2731
object WechatHooker : YukiBaseHooker() {
@@ -33,9 +37,71 @@ object WechatHooker : YukiBaseHooker() {
3337
val SmileyInfo by lazyClassOrNull("${PackageName.WECHAT}.storage.emotion.SmileyInfo")
3438
val SmileyPanelConfigInfo by lazyClassOrNull("${PackageName.WECHAT}.storage.emotion.SmileyPanelConfigInfo")
3539
val MMAnimateView by lazyClassOrNull("${PackageName.WECHAT}.plugin.gif.MMAnimateView")
36-
37-
40+
val EmojiPanelRecyclerView by lazyClassOrNull("${PackageName.WECHAT}.emoji.panel.EmojiPanelRecyclerView")
41+
val EmojiPanelGroupView by lazyClassOrNull("${PackageName.WECHAT}.emoji.panel.EmojiPanelGroupView")
42+
// 没摸明白怎么调用的
43+
// EmojiInfo 在微信启动时构造,看了一下是数据库读取的,混淆了类名和方法,不好调用
44+
// 后面没找到是哪个View调用了读取,先扔这里了
3845
override fun onHook() {
39-
TODO("Not yet implemented")
46+
YLog.info("Hooking Wechat")
47+
// EmojiPanelGroupView?.allConstructors { _, constructor ->
48+
// constructor.hook().before {
49+
// var argString = ""
50+
// for (arg in args) {
51+
// argString += arg.toString() + "\n"
52+
// }
53+
// val traceElements = Thread.currentThread().stackTrace
54+
// var stackTraceString = ""
55+
// for (traceElement in traceElements) {
56+
// stackTraceString += traceElement.toString() + "\n"
57+
// }
58+
// YLog.debug("EmojiPanelGroupView.constructor\n$stackTraceString")
59+
// }
60+
// }
61+
// EmojiPanelRecyclerView?.allConstructors { _, constructor ->
62+
// constructor.hook().before {
63+
// var argString = ""
64+
// for (arg in args) {
65+
// argString += arg.toString() + "\n"
66+
// }
67+
// val traceElements = Thread.currentThread().stackTrace
68+
// var stackTraceString = ""
69+
// for (traceElement in traceElements) {
70+
// stackTraceString += traceElement.toString() + "\n"
71+
// }
72+
// YLog.debug("EmojiPanelRecyclerView.constructor\n$stackTraceString")
73+
// }
74+
// }
75+
76+
// EmojiInfo?.allConstructors { _, constructor ->
77+
// constructor.hook().before {
78+
// var argString = ""
79+
// for (arg in args) {
80+
// argString += arg.toString() + "\n"
81+
// }
82+
//// YLog.debug("EmojiInfo.constructor, args: $argString")
83+
// val traceElements = Thread.currentThread().stackTrace
84+
// var stackTraceString = ""
85+
// for (traceElement in traceElements) {
86+
// stackTraceString += traceElement.toString() + "\n"
87+
// }
88+
// YLog.debug("EmojiInfo.constructor\n$stackTraceString")
89+
// }
90+
// }
91+
// EmojiInfo?.allMethods { _, method ->
92+
// method.hook().before {
93+
// if (method.name == "F0") return@before
94+
// var argString = ""
95+
// for (arg in args) {
96+
// argString += arg.toString() + "\n"
97+
// }
98+
// val traceElements = Thread.currentThread().stackTrace
99+
// var stackTraceString = ""
100+
// for (traceElement in traceElements) {
101+
// stackTraceString += traceElement.toString() + "\n"
102+
// }
103+
// YLog.debug("EmojiInfo.method: ${method.name}\n${argString}\n$stackTraceString")
104+
// }
105+
// }
40106
}
41107
}

app/src/main/res/values/array.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@
44
<item>android</item>
55
<item>net.fosky.sticker.sticker_manager</item>
66
<item>com.tencent.mobileqq</item>
7+
<item>com.tencent.mm</item>
78
</string-array>
89
</resources>

0 commit comments

Comments
 (0)