From 3c9abf305d5f4e0844195e216f503b8805c5f0e2 Mon Sep 17 00:00:00 2001 From: firesun Date: Wed, 18 Apr 2018 23:53:19 +0800 Subject: [PATCH] =?UTF-8?q?Version:=201.5.0=201.=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E4=BA=86=E8=87=AA=E5=B7=B1=E6=92=A4=E5=9B=9E=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E6=8B=A6=E6=88=AA=E7=9A=84bug=202.=20=E5=8F=AAhook=E5=85=B3?= =?UTF-8?q?=E9=94=AE=E8=BF=9B=E7=A8=8B=EF=BC=8C=E9=98=B2=E6=AD=A2=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E5=AF=BC=E8=87=B4=E5=BE=AE=E4=BF=A1=E9=87=8D=E5=90=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 ++-- .../main/java/me/firesun/wechat/enhancement/Main.java | 9 +++++++++ .../me/firesun/wechat/enhancement/plugin/AntiRevoke.java | 6 ++++-- app/src/main/res/values/strings.xml | 1 - 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 338df2e..253961e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -23,8 +23,8 @@ android { applicationId "me.firesun.wechat.enhancement" minSdkVersion 17 targetSdkVersion 23 - versionCode 38 - versionName "1.4.0" + versionCode 39 + versionName "1.5.0" } buildTypes { diff --git a/app/src/main/java/me/firesun/wechat/enhancement/Main.java b/app/src/main/java/me/firesun/wechat/enhancement/Main.java index ecbc51e..bed4e56 100644 --- a/app/src/main/java/me/firesun/wechat/enhancement/Main.java +++ b/app/src/main/java/me/firesun/wechat/enhancement/Main.java @@ -1,9 +1,11 @@ package me.firesun.wechat.enhancement; +import android.app.ActivityManager; import android.content.Context; import android.content.ContextWrapper; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; +import android.util.Log; import de.robv.android.xposed.IXposedHookLoadPackage; import de.robv.android.xposed.XC_MethodHook; @@ -31,6 +33,13 @@ public void handleLoadPackage(final LoadPackageParam lpparam) { protected void afterHookedMethod(XC_MethodHook.MethodHookParam param) throws Throwable { super.afterHookedMethod(param); Context context = (Context) param.args[0]; + String processName = lpparam.processName; + //Only hook important process + if (!processName.equals(HookClasses.WECHAT_PACKAGE_NAME) && + !processName.equals(HookClasses.WECHAT_PACKAGE_NAME + ":tools") + ) { + return; + } String versionName = getVersionName(context, HookClasses.WECHAT_PACKAGE_NAME); log("Found wechat version:" + versionName); if (HookClasses.versionName == null) { diff --git a/app/src/main/java/me/firesun/wechat/enhancement/plugin/AntiRevoke.java b/app/src/main/java/me/firesun/wechat/enhancement/plugin/AntiRevoke.java index 204304d..ef8cb33 100644 --- a/app/src/main/java/me/firesun/wechat/enhancement/plugin/AntiRevoke.java +++ b/app/src/main/java/me/firesun/wechat/enhancement/plugin/AntiRevoke.java @@ -2,6 +2,7 @@ import android.content.ContentValues; + import java.io.File; import java.util.Arrays; import java.util.HashMap; @@ -42,9 +43,10 @@ protected void beforeHookedMethod(MethodHookParam param) { if (param.args[0].equals("message")) { ContentValues contentValues = ((ContentValues) param.args[1]); - if (contentValues.getAsInteger("type") == 10000 && - !contentValues.getAsString("content").equals(getString(R.string.revoke_prompt_msg))) { + !contentValues.getAsString("content").equals("你撤回了一条消息") && + !contentValues.getAsString("content").equals("You've recalled a message") + ) { handleMessageRecall(contentValues); param.setResult(1); } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c184279..3e1e70b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -21,7 +21,6 @@ 全选 消息防撤回 朋友圈防删除 - 你撤回了一条消息 显示图标 尝试修复插件 修复完成,请重启微信