xiongzhu 10 ヶ月 前
コミット
f8df57c103

+ 27 - 0
app/src/main/java/com/example/modifiermodule/HookGms.java

@@ -0,0 +1,27 @@
+package com.example.modifiermodule;
+
+
+import de.robv.android.xposed.XC_MethodHook;
+import de.robv.android.xposed.XposedHelpers;
+import de.robv.android.xposed.callbacks.XC_LoadPackage;
+
+public class HookGms extends BaseHook {
+
+    public HookGms(ClassLoader classLoader) {
+        super(classLoader);
+    }
+
+    public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
+        try {
+            Class<?> System = XposedHelpers.findClass("java.lang.System", lpparam.classLoader);
+            XposedHelpers.findAndHookMethod(System, "loadLibrary", String.class, new XC_MethodHook() {
+                @Override
+                protected void afterHookedMethod(MethodHookParam param) throws Throwable {
+                    log("GMS loadLibrary: " + param.args[0]);
+                }
+            });
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}

+ 4 - 0
app/src/main/java/com/example/modifiermodule/XposedInit.java

@@ -106,6 +106,10 @@ public class XposedInit implements IXposedHookLoadPackage, IXposedHookZygoteInit
             new HookSystem(lpparam.classLoader).handleLoadPackage(lpparam);
         }
 
+        if (lpparam.packageName.startsWith("com.google.android.gms")) {
+            new HookGms(lpparam.classLoader).handleLoadPackage(lpparam);
+        }
+
 //        Class<?> SubscriptionManager = XposedHelpers.findClass("android.telephony.SubscriptionManager", lpparam.classLoader);
 //        XposedHelpers.findAndHookMethod(SubscriptionManager, "getPhoneNumber", int.class, new XC_MethodHook() {
 //            @Override