xiongzhu 10 ヶ月 前
コミット
41bc84fc43

+ 1 - 1
app/src/main/java/com/example/modifiermodule/BaseHook.java

@@ -47,7 +47,7 @@ public class BaseHook {
     static final String PROP_SERIAL = "serialNo";
     static final String PROP_ANDROID_ID = "androidId";
 
-    static final String TAG = "Modifier";
+    static final String TAG = "ModifierModule";
 
     public BaseHook(ClassLoader classLoader) {
         this.classLoader = classLoader;

+ 20 - 8
app/src/main/java/com/example/modifiermodule/HookSystem.java

@@ -1,5 +1,7 @@
 package com.example.modifiermodule;
 
+import org.apache.commons.lang3.StringUtils;
+
 import de.robv.android.xposed.XC_MethodHook;
 import de.robv.android.xposed.XposedHelpers;
 import de.robv.android.xposed.callbacks.XC_LoadPackage;
@@ -16,15 +18,17 @@ public class HookSystem extends BaseHook {
             XposedHelpers.findAndHookMethod(DeviceIdentifiersPolicy, "getSerial", new XC_MethodHook() {
                 @Override
                 protected void afterHookedMethod(MethodHookParam param) throws Throwable {
-                    log("spoof getSerial");
-                    param.setResult(getProperty(PROP_SERIAL, ""));
+                    String serial = getProperty(PROP_SERIAL, "");
+                    log(String.format("getSerial(): %s -> %s", param.getResult(), serial));
+                    param.setResult(serial);
                 }
             });
             XposedHelpers.findAndHookMethod(DeviceIdentifiersPolicy, "getSerialForPackage", String.class, String.class, new XC_MethodHook() {
                 @Override
                 protected void afterHookedMethod(MethodHookParam param) throws Throwable {
-                    log("spoof getSerialForPackage");
-                    param.setResult(getProperty(PROP_SERIAL, ""));
+                    String serial = getProperty(PROP_SERIAL, "");
+                    log(String.format("getSerialForPackage(%s, %s): %s -> %s", param.args[0], param.args[1], param.getResult(), serial));
+                    param.setResult(serial);
                 }
             });
         } catch (Exception e) {
@@ -39,7 +43,7 @@ public class HookSystem extends BaseHook {
                     if (param.hasThrowable()) return;
                     Class<?> cls = (Class<?>) param.getResult();
                     String name = cls.getName();
-                    log("system_server loadClassFromLoader: " + param.args[0] + " " + name);
+                    log(String.format("loadClassFromLoader(%s, %s)", param.args[0], param.args[1]));
 
                     if (name.equals("com.android.server.wifi.WifiService")) {
                         ClassLoader classLoader = (ClassLoader) param.args[1];
@@ -47,8 +51,13 @@ public class HookSystem extends BaseHook {
                         XposedHelpers.findAndHookMethod(WifiServiceImpl, "getFactoryMacAddresses", new XC_MethodHook() {
                             @Override
                             protected void afterHookedMethod(MethodHookParam param) throws Throwable {
+                                String[] old = (String[]) param.getResult();
                                 String[] macs = new String[]{getProperty(PROP_MAC, "")};
-                                log("spoof getFactoryMacAddresses: " + macs[0]);
+                                if (old == null) {
+                                    log(String.format("getFactoryMacAddresses(): null -> %s", param.getResult(), macs[0]));
+                                } else {
+                                    log(String.format("getFactoryMacAddresses(): %s -> %s", StringUtils.join(old, ","), macs[0]));
+                                }
                                 param.setResult(macs);
                             }
                         });
@@ -58,8 +67,9 @@ public class HookSystem extends BaseHook {
                             protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                                 String mac = getProperty(PROP_MAC, "");
                                 String bssid = getProperty(PROP_BSSID, "");
-                                log("spoof getConnectionInfo: " + mac + " " + bssid);
-                                param.setResult(mac);
+                                log(String.format("getConnectionInfo(%s, %s)", param.args[0], param.args[1]));
+                                log(String.format("  mac: %s -> %s", XposedHelpers.getObjectField(param.getResult(), "mMacAddress"), mac));
+                                log(String.format("  bssid: %s -> %s", XposedHelpers.getObjectField(param.getResult(), "mBSSID"), bssid));
                                 XposedHelpers.setObjectField(param.getResult(), "mMacAddress", mac);
                                 XposedHelpers.setObjectField(param.getResult(), "mBSSID", bssid);
                             }
@@ -72,4 +82,6 @@ public class HookSystem extends BaseHook {
             log("SystemProperties not found");
         }
     }
+
+
 }

+ 1 - 1
app/src/test/java/com/example/modifiermodule/ExampleUnitTest.java

@@ -12,6 +12,6 @@ import static org.junit.Assert.*;
 public class ExampleUnitTest {
     @Test
     public void addition_isCorrect() {
-        System.out.println("".substring(0, 15));
+        System.out.println(String.format("Hello, %s!", new String[]{"aaa"}.toString()));
     }
 }