This repository has been archived by the owner on Feb 4, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
f8c0971
commit d282084
Showing
16 changed files
with
248 additions
and
32 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
32 changes: 32 additions & 0 deletions
32
app/src/main/java/cn/lliiooll/pphelper/hook/AccountHook.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
package cn.lliiooll.pphelper.hook | ||
|
||
import cn.lliiooll.pphelper.utils.DexKit | ||
import cn.lliiooll.pphelper.utils.PLog | ||
import cn.lliiooll.pphelper.utils.hook | ||
import de.robv.android.xposed.XC_MethodHook | ||
import java.util.* | ||
|
||
object AccountHook : BaseHook("account", "账号hook") { | ||
override fun init(): Boolean { | ||
this.desc = "账号hook" | ||
val clazz = DexKit.load(DexKit.OBF_ACCOUNT_SERVICE_MANAGER) | ||
for (m in clazz?.declaredMethods!!) { | ||
m.hook(object : XC_MethodHook() { | ||
override fun afterHookedMethod(param: MethodHookParam?) { | ||
PLog.log("\n========================================") | ||
PLog.log( | ||
"\n来自{}的方法被调用;" + "\n方法名称: {}" + "\n参数数量: {}" + "\n参数类型: {}" + "\n参数内容: {}\n当前堆栈: ", | ||
param?.thisObject?.javaClass?.simpleName, | ||
m.name, | ||
m.parameterTypes.size, | ||
Arrays.toString(m.parameterTypes), | ||
Arrays.toString(param?.args) | ||
) | ||
PLog.printStacks() | ||
PLog.log("========================================\n") | ||
} | ||
}) | ||
} | ||
return true | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
28 changes: 18 additions & 10 deletions
28
app/src/main/java/cn/lliiooll/pphelper/hook/RemoveVoiceRoomHook.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,32 @@ | ||
package cn.lliiooll.pphelper.hook | ||
|
||
import android.content.Context | ||
import android.os.Bundle | ||
import cn.lliiooll.pphelper.utils.Utils | ||
import cn.lliiooll.pphelper.utils.loadClass | ||
import cn.lliiooll.pphelper.utils.* | ||
import de.robv.android.xposed.XC_MethodHook | ||
import de.robv.android.xposed.XC_MethodReplacement | ||
import de.robv.android.xposed.XposedHelpers | ||
import java.util.* | ||
|
||
object RemoveVoiceRoomHook : BaseHook("removeVoiceRoom", "移除语音房") { | ||
override fun init(): Boolean { | ||
this.desc = "移除语音房" | ||
XposedHelpers.findAndHookMethod( | ||
"cn.xiaochuankeji.chat.gui.base.ChatBaseActivity".loadClass(), | ||
"onCreate", | ||
Bundle::class.java, | ||
object : XC_MethodHook() { | ||
override fun afterHookedMethod(param: MethodHookParam?) { | ||
Utils.showShort("") | ||
val clazz1 = "com.youyisia.voices.sdk.api.HYVoiceRoomSdk".loadClass() | ||
for (m in clazz1?.declaredMethods!!) { | ||
m.hookAfter { | ||
if (m.name == "isInited") { | ||
it?.result = true | ||
} | ||
}) | ||
PLog.log( | ||
"\n来自{}的方法被调用;" + "\n方法名称: {}" + "\n参数数量: {}" + "\n参数类型: {}" + "\n参数内容: {}\n当前堆栈: ", | ||
clazz1.name, | ||
m.name, | ||
m.parameterTypes.size, | ||
Arrays.toString(m.parameterTypes), | ||
Arrays.toString(it?.args) | ||
) | ||
} | ||
} | ||
return true | ||
} | ||
} |
67 changes: 67 additions & 0 deletions
67
app/src/main/java/cn/lliiooll/pphelper/hook/ShowHideHook.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
package cn.lliiooll.pphelper.hook | ||
|
||
import android.os.Bundle | ||
import cn.hutool.json.JSONUtil | ||
import cn.lliiooll.pphelper.utils.PLog | ||
import cn.lliiooll.pphelper.utils.loadClass | ||
import cn.xiaochuankeji.zuiyouLite.ui.postdetail.comment.CommentDetailActivity | ||
import cn.xiaochuankeji.zuiyouLite.ui.slide.ActivitySlideDetail | ||
import de.robv.android.xposed.XC_MethodHook | ||
import de.robv.android.xposed.XposedHelpers | ||
|
||
object ShowHideHook : BaseHook("comment_show_hide", "评论区显示隐藏评论") { | ||
override fun init(): Boolean { | ||
this.desc = "评论区显示隐藏评论" | ||
XposedHelpers.findAndHookMethod( | ||
CommentDetailActivity::class.java, | ||
"onCreate", | ||
Bundle::class.java, | ||
object : XC_MethodHook() { | ||
override fun afterHookedMethod(param: MethodHookParam?) { | ||
val commentBeanClazz = "cn.xiaochuankeji.zuiyouLite.data.CommentBean".loadClass() | ||
val objClazz = param?.thisObject?.javaClass | ||
for (field in objClazz?.declaredFields!!) { | ||
if (field.type == commentBeanClazz) { | ||
val commentBean = XposedHelpers.getObjectField(param.thisObject, field.name) | ||
val replays = XposedHelpers.getObjectField(commentBean, "replyReviews") as List<*> | ||
XposedHelpers.setIntField(commentBean, "isHide", 0) | ||
for (replay in replays) { | ||
XposedHelpers.setIntField(replay, "isHide", 0) | ||
} | ||
//PLog.log(JSONUtil.toJsonStr(commentBean)) | ||
} | ||
} | ||
} | ||
}) | ||
XposedHelpers.findAndHookMethod( | ||
ActivitySlideDetail::class.java, | ||
"onCreate", | ||
Bundle::class.java, | ||
object : XC_MethodHook() { | ||
override fun afterHookedMethod(param: MethodHookParam?) { | ||
//val commentBeanClazz = "cn.xiaochuankeji.zuiyouLite.data.CommentBean".loadClass() | ||
val postDataBeanClazz = "cn.xiaochuankeji.zuiyouLite.data.post.PostDataBean".loadClass() | ||
val objClazz = param?.thisObject?.javaClass | ||
for (field in objClazz?.declaredFields!!) { | ||
if (field.type == postDataBeanClazz) { | ||
val postDataBean = XposedHelpers.getObjectField(param.thisObject, field.name) | ||
val godReviews = XposedHelpers.getObjectField(postDataBean, field.name) as List<*> | ||
val myReviews = XposedHelpers.getObjectField(postDataBean, field.name) as List<*> | ||
val reviewList = XposedHelpers.getObjectField(postDataBean, field.name) as List<*> | ||
for (replay in godReviews) { | ||
XposedHelpers.setIntField(replay, "isHide", 0) | ||
} | ||
for (replay in myReviews) { | ||
XposedHelpers.setIntField(replay, "isHide", 0) | ||
} | ||
for (replay in reviewList) { | ||
XposedHelpers.setIntField(replay, "isHide", 0) | ||
} | ||
//PLog.log(JSONUtil.toJsonStr(commentBean)) | ||
} | ||
} | ||
} | ||
}) | ||
return true | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
package cn.lliiooll.pphelper.utils; | ||
|
||
import android.app.Application; | ||
import android.os.Build; | ||
import cn.lliiooll.pphelper.BuildConfig; | ||
import com.microsoft.appcenter.AppCenter; | ||
import com.microsoft.appcenter.analytics.Analytics; | ||
import com.microsoft.appcenter.crashes.Crashes; | ||
|
||
import java.util.HashMap; | ||
import java.util.Map; | ||
|
||
|
||
public class CliOper { | ||
public static void init(Application app, String account) { | ||
PLog.log("开始初始化统计..."); | ||
if (!BuildConfig.DEBUG){ | ||
if (!AppCenter.isConfigured()) { | ||
AppCenter.start(app, getSecert(), Analytics.class, Crashes.class); | ||
} | ||
Map<String, String> data = new HashMap<String, String>() {{ | ||
put("os_version", Build.VERSION.RELEASE); | ||
put("os_brand", Build.BRAND); | ||
put("os_model", Build.MODEL); | ||
put("app_version", BuildConfig.VERSION_NAME); | ||
put("app_type", BuildConfig.BUILD_TYPE); | ||
put("app_code", BuildConfig.VERSION_CODE + ""); | ||
put("account", account); | ||
}}; | ||
Analytics.trackEvent("onLoad", data); | ||
PLog.log("上报数据: " + data); | ||
} | ||
} | ||
|
||
private static String getSecert() { | ||
return "d107307f-0e8f-4e99-aaf6-1eb3060d1d22"; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.