xiongzhu 10 ماه پیش
والد
کامیت
b71fff353c

+ 7 - 0
app/src/main/java/com/example/modifiermodule/Hook13.java

@@ -213,6 +213,13 @@ public class Hook13 extends BaseHook {
                     param.setResult(getProperty(PROP_IMSI, ""));
                 }
             });
+            XposedHelpers.findAndHookMethod(PhoneSubInfoController, "getDeviceId",   String.class, new XC_MethodHook() {
+                @Override
+                protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
+                    log("spoof PhoneSubInfoController.getDeviceIdForPhone");
+                    param.setResult(getProperty(PROP_IMEI, ""));
+                }
+            });
             XposedHelpers.findAndHookMethod(PhoneSubInfoController, "getDeviceIdForPhone", int.class, String.class, String.class, new XC_MethodHook() {
                 @Override
                 protected void beforeHookedMethod(MethodHookParam param) throws Throwable {

+ 11 - 0
app/src/main/java/com/example/modifiermodule/HookSystem.java

@@ -6,6 +6,7 @@ import android.net.NetworkInfo;
 import android.os.Build;
 import android.util.Log;
 
+import org.apache.commons.lang3.RandomStringUtils;
 import org.apache.commons.lang3.StringUtils;
 
 import java.io.File;
@@ -102,6 +103,16 @@ public class HookSystem extends BaseHook {
                                 param.setResult(mac);
                             }
                         });
+                        XposedHelpers.findAndHookMethod(BluetoothManagerService, "getName", AttributionSource.class, new XC_MethodHook() {
+                            @Override
+                            protected void afterHookedMethod(MethodHookParam param) throws Throwable {
+                                AttributionSource attributionSource = (AttributionSource) param.args[0];
+                                String packageName = attributionSource.getPackageName();
+                                String name = RandomStringUtils.randomAlphabetic(16);
+                                log(String.format("BluetoothManagerService.getName(%s): %s -> %s", packageName, param.getResult(), name));
+                                param.setResult(name);
+                            }
+                        });
 
                     } else if (name.equals("com.android.server.ConnectivityServiceInitializer")) {
                         ClassLoader classLoader = (ClassLoader) param.args[1];