|
|
@@ -6,30 +6,15 @@ import android.content.BroadcastReceiver;
|
|
|
import android.content.Context;
|
|
|
import android.content.Intent;
|
|
|
import android.content.IntentFilter;
|
|
|
-import android.telephony.SubscriptionInfo;
|
|
|
-import android.util.Log;
|
|
|
-
|
|
|
-import org.apache.commons.io.FileUtils;
|
|
|
-import org.apache.commons.lang3.ClassUtils;
|
|
|
-import org.json.JSONException;
|
|
|
-import org.json.JSONObject;
|
|
|
|
|
|
import java.io.File;
|
|
|
-import java.io.IOException;
|
|
|
-import java.lang.reflect.Method;
|
|
|
-import java.util.List;
|
|
|
import java.util.Optional;
|
|
|
-import java.util.concurrent.ExecutorService;
|
|
|
-import java.util.concurrent.Executors;
|
|
|
import java.util.concurrent.ScheduledThreadPoolExecutor;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
import de.robv.android.xposed.IXposedHookInitPackageResources;
|
|
|
import de.robv.android.xposed.IXposedHookLoadPackage;
|
|
|
import de.robv.android.xposed.IXposedHookZygoteInit;
|
|
|
-import de.robv.android.xposed.XC_MethodHook;
|
|
|
-import de.robv.android.xposed.XSharedPreferences;
|
|
|
-import de.robv.android.xposed.XposedBridge;
|
|
|
import de.robv.android.xposed.XposedHelpers;
|
|
|
import de.robv.android.xposed.callbacks.XC_InitPackageResources;
|
|
|
import de.robv.android.xposed.callbacks.XC_LoadPackage;
|
|
|
@@ -91,7 +76,23 @@ public class XposedInit extends BaseHook implements IXposedHookLoadPackage, IXpo
|
|
|
}
|
|
|
|
|
|
if ("com.google.android.apps.messaging".equals(lpparam.packageName)) {
|
|
|
- HookMessage.handleLoadPackage(lpparam);
|
|
|
+ String versionName = "";
|
|
|
+ try {
|
|
|
+ Class<?> parserCls = XposedHelpers.findClass("android.content.pm.PackageParser", lpparam.classLoader);
|
|
|
+ Object parser = parserCls.newInstance();
|
|
|
+ File apkPath = new File(lpparam.appInfo.sourceDir);
|
|
|
+ Object pkg = XposedHelpers.callMethod(parser, "parsePackage", apkPath, 0);
|
|
|
+ versionName = (String) XposedHelpers.getObjectField(pkg, "mVersionName");
|
|
|
+ log("get message version: " + versionName);
|
|
|
+ } catch (Throwable e) {
|
|
|
+ log("get message version error: " + e.getMessage());
|
|
|
+ }
|
|
|
+ if ("messages.android_20241215_00_RC00.phone.openbeta_dynamic".equals(versionName)) {
|
|
|
+ HookMessage_20241215_00_RC00.handleLoadPackage(lpparam);
|
|
|
+ } else {
|
|
|
+ HookMessage_043001RC00.handleLoadPackage(lpparam);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
// Class<?> SubscriptionManager = XposedHelpers.findClass("android.telephony.SubscriptionManager", lpparam.classLoader);
|