|
|
@@ -45,7 +45,7 @@ public class XposedInit extends BaseHook implements IXposedHookLoadPackage, IXpo
|
|
|
@SuppressLint("UnspecifiedRegisterReceiverFlag")
|
|
|
@Override
|
|
|
public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
|
|
|
- log("load package: " + lpparam.packageName + ", imsi=" + getProperty(PROP_IMSI, "unknown"));
|
|
|
+ log("load package: " + lpparam.packageName);
|
|
|
|
|
|
if ("com.android.phone".equals(lpparam.packageName)) {
|
|
|
executor.schedule(() -> {
|
|
|
@@ -82,153 +82,151 @@ public class XposedInit extends BaseHook implements IXposedHookLoadPackage, IXpo
|
|
|
}
|
|
|
|
|
|
}, 5, TimeUnit.SECONDS);
|
|
|
+
|
|
|
+ if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
|
|
+ Hook14.handleLoadPackage(lpparam);
|
|
|
+ } else {
|
|
|
+ Hook13.handleLoadPackage(lpparam);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if ("com.google.android.apps.messaging".equals(lpparam.packageName)) {
|
|
|
HookMessage.handleLoadPackage(lpparam);
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
|
|
- Hook14.handleLoadPackage(lpparam);
|
|
|
- } else {
|
|
|
- Hook13.handleLoadPackage(lpparam);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- Class<?> SubscriptionManager = XposedHelpers.findClass("android.telephony.SubscriptionManager", lpparam.classLoader);
|
|
|
- XposedHelpers.findAndHookMethod(SubscriptionManager, "getPhoneNumber", int.class, new XC_MethodHook() {
|
|
|
- @Override
|
|
|
- protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
- log("spoof SubscriptionManager.getPhoneNumber");
|
|
|
- param.setResult(getProperty(PROP_NUMBER, ""));
|
|
|
- }
|
|
|
- });
|
|
|
- XposedHelpers.findAndHookMethod(SubscriptionManager, "getPhoneNumber", int.class, int.class, new XC_MethodHook() {
|
|
|
- @Override
|
|
|
- protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
- log("spoof SubscriptionManager.getPhoneNumber");
|
|
|
- param.setResult(getProperty(PROP_NUMBER, ""));
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- Class<?> SubscriptionInfo = XposedHelpers.findClass("android.telephony.SubscriptionInfo", lpparam.classLoader);
|
|
|
- XposedHelpers.findAndHookMethod(SubscriptionInfo, "getMcc", new XC_MethodHook() {
|
|
|
- @Override
|
|
|
- protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
- log("spoof SubscriptionInfo.getMcc -> " + getProperty(PROP_MCC, ""));
|
|
|
- param.setResult(Integer.parseInt(getProperty(PROP_MCC, "")));
|
|
|
- }
|
|
|
- });
|
|
|
- XposedHelpers.findAndHookMethod(SubscriptionInfo, "getMnc", new XC_MethodHook() {
|
|
|
- @Override
|
|
|
- protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
- log("spoof SubscriptionInfo.getMnc -> " + getProperty(PROP_MNC, ""));
|
|
|
- param.setResult(Integer.parseInt(getProperty(PROP_MNC, "")));
|
|
|
- }
|
|
|
- });
|
|
|
- XposedHelpers.findAndHookMethod(SubscriptionInfo, "getMccString", new XC_MethodHook() {
|
|
|
- @Override
|
|
|
- protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
- log("spoof SubscriptionInfo.getMccString -> " + getProperty(PROP_MCC, ""));
|
|
|
- param.setResult(getProperty(PROP_MCC, ""));
|
|
|
- }
|
|
|
- });
|
|
|
- XposedHelpers.findAndHookMethod(SubscriptionInfo, "getMncString", new XC_MethodHook() {
|
|
|
- @Override
|
|
|
- protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
- log("spoof SubscriptionInfo.getMncString -> " + getProperty(PROP_MNC, ""));
|
|
|
- param.setResult(getProperty(PROP_MNC, ""));
|
|
|
- }
|
|
|
- });
|
|
|
- XposedHelpers.findAndHookMethod(SubscriptionInfo, "getNumber", new XC_MethodHook() {
|
|
|
- @Override
|
|
|
- protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
- log("spoof SubscriptionInfo.getNumber -> " + getProperty(PROP_NUMBER, ""));
|
|
|
- param.setResult(getProperty(PROP_NUMBER, ""));
|
|
|
- }
|
|
|
- });
|
|
|
- XposedHelpers.findAndHookMethod(SubscriptionInfo, "getIccId", new XC_MethodHook() {
|
|
|
- @Override
|
|
|
- protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
- log("spoof SubscriptionInfo.getIccId -> " + getProperty(PROP_ICCID, ""));
|
|
|
- param.setResult(getProperty(PROP_ICCID, ""));
|
|
|
- }
|
|
|
- });
|
|
|
- XposedHelpers.findAndHookMethod(SubscriptionInfo, "getCountryIso", new XC_MethodHook() {
|
|
|
- @Override
|
|
|
- protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
- log("spoof SubscriptionInfo.getCountryIso -> " + getProperty(PROP_COUNTRY, ""));
|
|
|
- param.setResult(getProperty(PROP_COUNTRY, ""));
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
-
|
|
|
- Class<?> TelephonyManager = XposedHelpers.findClass("android.telephony.TelephonyManager", lpparam.classLoader);
|
|
|
- XposedHelpers.findAndHookMethod(TelephonyManager, "getLine1Number", new XC_MethodHook() {
|
|
|
- @Override
|
|
|
- protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
- log("spoof TelephonyManager.getLine1Number -> " + getProperty(PROP_NUMBER, ""));
|
|
|
- param.setResult(getProperty(PROP_NUMBER, ""));
|
|
|
- }
|
|
|
- });
|
|
|
- XposedHelpers.findAndHookMethod(TelephonyManager, "getSimOperator", new XC_MethodHook() {
|
|
|
- @Override
|
|
|
- protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
- log("spoof TelephonyManager.getSimOperator -> " + getProperty(PROP_MCC, "") + getProperty(PROP_MNC, ""));
|
|
|
- param.setResult(getProperty(PROP_MCC, "") + getProperty(PROP_MNC, ""));
|
|
|
- }
|
|
|
- });
|
|
|
- XposedHelpers.findAndHookMethod(TelephonyManager, "getNetworkOperator", new XC_MethodHook() {
|
|
|
- @Override
|
|
|
- protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
- log("spoof TelephonyManager.getNetworkOperator -> " + getProperty(PROP_MCC, "") + getProperty(PROP_MNC, ""));
|
|
|
- param.setResult(getProperty(PROP_MCC, "") + getProperty(PROP_MNC, ""));
|
|
|
- }
|
|
|
- });
|
|
|
- XposedHelpers.findAndHookMethod(TelephonyManager, "getSimSerialNumber", new XC_MethodHook() {
|
|
|
- @Override
|
|
|
- protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
- log("spoof TelephonyManager.getSimSerialNumber -> " + getProperty(PROP_ICCID, ""));
|
|
|
- param.setResult(getProperty(PROP_ICCID, ""));
|
|
|
- }
|
|
|
- });
|
|
|
- XposedHelpers.findAndHookMethod(TelephonyManager, "getSubscriberId", new XC_MethodHook() {
|
|
|
- @Override
|
|
|
- protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
- log("spoof TelephonyManager.getSubscriberId -> " + getProperty(PROP_IMSI, ""));
|
|
|
- param.setResult(getProperty(PROP_IMSI, ""));
|
|
|
- }
|
|
|
- });
|
|
|
- XposedHelpers.findAndHookMethod(TelephonyManager, "getImei", new XC_MethodHook() {
|
|
|
- @Override
|
|
|
- protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
- log("spoof TelephonyManager.getImei -> " + getProperty(PROP_IMEI, ""));
|
|
|
- param.setResult(getProperty(PROP_IMEI, ""));
|
|
|
- }
|
|
|
- });
|
|
|
- XposedHelpers.findAndHookMethod(TelephonyManager, "getNetworkCountryIso", new XC_MethodHook() {
|
|
|
- @Override
|
|
|
- protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
- log("spoof TelephonyManager.getNetworkCountryIso -> " + getProperty(PROP_COUNTRY, ""));
|
|
|
- param.setResult(getProperty(PROP_COUNTRY, ""));
|
|
|
- }
|
|
|
- });
|
|
|
- XposedHelpers.findAndHookMethod(TelephonyManager, "getSimCountryIso", new XC_MethodHook() {
|
|
|
- @Override
|
|
|
- protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
- log("spoof TelephonyManager.getSimCountryIso -> " + getProperty(PROP_COUNTRY, ""));
|
|
|
- param.setResult(getProperty(PROP_COUNTRY, ""));
|
|
|
- }
|
|
|
- });
|
|
|
- //getSimState
|
|
|
- XposedHelpers.findAndHookMethod(TelephonyManager, "getSimState", new XC_MethodHook() {
|
|
|
- @Override
|
|
|
- protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
- log("spoof TelephonyManager.getSimState -> 5");
|
|
|
- param.setResult(5);
|
|
|
- }
|
|
|
- });
|
|
|
+// Class<?> SubscriptionManager = XposedHelpers.findClass("android.telephony.SubscriptionManager", lpparam.classLoader);
|
|
|
+// XposedHelpers.findAndHookMethod(SubscriptionManager, "getPhoneNumber", int.class, new XC_MethodHook() {
|
|
|
+// @Override
|
|
|
+// protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
+// log("spoof SubscriptionManager.getPhoneNumber");
|
|
|
+// param.setResult(getProperty(PROP_NUMBER, ""));
|
|
|
+// }
|
|
|
+// });
|
|
|
+// XposedHelpers.findAndHookMethod(SubscriptionManager, "getPhoneNumber", int.class, int.class, new XC_MethodHook() {
|
|
|
+// @Override
|
|
|
+// protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
+// log("spoof SubscriptionManager.getPhoneNumber");
|
|
|
+// param.setResult(getProperty(PROP_NUMBER, ""));
|
|
|
+// }
|
|
|
+// });
|
|
|
+//
|
|
|
+// Class<?> SubscriptionInfo = XposedHelpers.findClass("android.telephony.SubscriptionInfo", lpparam.classLoader);
|
|
|
+// XposedHelpers.findAndHookMethod(SubscriptionInfo, "getMcc", new XC_MethodHook() {
|
|
|
+// @Override
|
|
|
+// protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
+// log("spoof SubscriptionInfo.getMcc -> " + getProperty(PROP_MCC, ""));
|
|
|
+// param.setResult(Integer.parseInt(getProperty(PROP_MCC, "")));
|
|
|
+// }
|
|
|
+// });
|
|
|
+// XposedHelpers.findAndHookMethod(SubscriptionInfo, "getMnc", new XC_MethodHook() {
|
|
|
+// @Override
|
|
|
+// protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
+// log("spoof SubscriptionInfo.getMnc -> " + getProperty(PROP_MNC, ""));
|
|
|
+// param.setResult(Integer.parseInt(getProperty(PROP_MNC, "")));
|
|
|
+// }
|
|
|
+// });
|
|
|
+// XposedHelpers.findAndHookMethod(SubscriptionInfo, "getMccString", new XC_MethodHook() {
|
|
|
+// @Override
|
|
|
+// protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
+// log("spoof SubscriptionInfo.getMccString -> " + getProperty(PROP_MCC, ""));
|
|
|
+// param.setResult(getProperty(PROP_MCC, ""));
|
|
|
+// }
|
|
|
+// });
|
|
|
+// XposedHelpers.findAndHookMethod(SubscriptionInfo, "getMncString", new XC_MethodHook() {
|
|
|
+// @Override
|
|
|
+// protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
+// log("spoof SubscriptionInfo.getMncString -> " + getProperty(PROP_MNC, ""));
|
|
|
+// param.setResult(getProperty(PROP_MNC, ""));
|
|
|
+// }
|
|
|
+// });
|
|
|
+// XposedHelpers.findAndHookMethod(SubscriptionInfo, "getNumber", new XC_MethodHook() {
|
|
|
+// @Override
|
|
|
+// protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
+// log("spoof SubscriptionInfo.getNumber -> " + getProperty(PROP_NUMBER, ""));
|
|
|
+// param.setResult(getProperty(PROP_NUMBER, ""));
|
|
|
+// }
|
|
|
+// });
|
|
|
+// XposedHelpers.findAndHookMethod(SubscriptionInfo, "getIccId", new XC_MethodHook() {
|
|
|
+// @Override
|
|
|
+// protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
+// log("spoof SubscriptionInfo.getIccId -> " + getProperty(PROP_ICCID, ""));
|
|
|
+// param.setResult(getProperty(PROP_ICCID, ""));
|
|
|
+// }
|
|
|
+// });
|
|
|
+// XposedHelpers.findAndHookMethod(SubscriptionInfo, "getCountryIso", new XC_MethodHook() {
|
|
|
+// @Override
|
|
|
+// protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
+// log("spoof SubscriptionInfo.getCountryIso -> " + getProperty(PROP_COUNTRY, ""));
|
|
|
+// param.setResult(getProperty(PROP_COUNTRY, ""));
|
|
|
+// }
|
|
|
+// });
|
|
|
+//
|
|
|
+//
|
|
|
+// Class<?> TelephonyManager = XposedHelpers.findClass("android.telephony.TelephonyManager", lpparam.classLoader);
|
|
|
+// XposedHelpers.findAndHookMethod(TelephonyManager, "getLine1Number", new XC_MethodHook() {
|
|
|
+// @Override
|
|
|
+// protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
+// log("spoof TelephonyManager.getLine1Number -> " + getProperty(PROP_NUMBER, ""));
|
|
|
+// param.setResult(getProperty(PROP_NUMBER, ""));
|
|
|
+// }
|
|
|
+// });
|
|
|
+// XposedHelpers.findAndHookMethod(TelephonyManager, "getSimOperator", new XC_MethodHook() {
|
|
|
+// @Override
|
|
|
+// protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
+// log("spoof TelephonyManager.getSimOperator -> " + getProperty(PROP_MCC, "") + getProperty(PROP_MNC, ""));
|
|
|
+// param.setResult(getProperty(PROP_MCC, "") + getProperty(PROP_MNC, ""));
|
|
|
+// }
|
|
|
+// });
|
|
|
+// XposedHelpers.findAndHookMethod(TelephonyManager, "getNetworkOperator", new XC_MethodHook() {
|
|
|
+// @Override
|
|
|
+// protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
+// log("spoof TelephonyManager.getNetworkOperator -> " + getProperty(PROP_MCC, "") + getProperty(PROP_MNC, ""));
|
|
|
+// param.setResult(getProperty(PROP_MCC, "") + getProperty(PROP_MNC, ""));
|
|
|
+// }
|
|
|
+// });
|
|
|
+// XposedHelpers.findAndHookMethod(TelephonyManager, "getSimSerialNumber", new XC_MethodHook() {
|
|
|
+// @Override
|
|
|
+// protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
+// log("spoof TelephonyManager.getSimSerialNumber -> " + getProperty(PROP_ICCID, ""));
|
|
|
+// param.setResult(getProperty(PROP_ICCID, ""));
|
|
|
+// }
|
|
|
+// });
|
|
|
+// XposedHelpers.findAndHookMethod(TelephonyManager, "getSubscriberId", new XC_MethodHook() {
|
|
|
+// @Override
|
|
|
+// protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
+// log("spoof TelephonyManager.getSubscriberId -> " + getProperty(PROP_IMSI, ""));
|
|
|
+// param.setResult(getProperty(PROP_IMSI, ""));
|
|
|
+// }
|
|
|
+// });
|
|
|
+// XposedHelpers.findAndHookMethod(TelephonyManager, "getImei", new XC_MethodHook() {
|
|
|
+// @Override
|
|
|
+// protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
+// log("spoof TelephonyManager.getImei -> " + getProperty(PROP_IMEI, ""));
|
|
|
+// param.setResult(getProperty(PROP_IMEI, ""));
|
|
|
+// }
|
|
|
+// });
|
|
|
+// XposedHelpers.findAndHookMethod(TelephonyManager, "getNetworkCountryIso", new XC_MethodHook() {
|
|
|
+// @Override
|
|
|
+// protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
+// log("spoof TelephonyManager.getNetworkCountryIso -> " + getProperty(PROP_COUNTRY, ""));
|
|
|
+// param.setResult(getProperty(PROP_COUNTRY, ""));
|
|
|
+// }
|
|
|
+// });
|
|
|
+// XposedHelpers.findAndHookMethod(TelephonyManager, "getSimCountryIso", new XC_MethodHook() {
|
|
|
+// @Override
|
|
|
+// protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
+// log("spoof TelephonyManager.getSimCountryIso -> " + getProperty(PROP_COUNTRY, ""));
|
|
|
+// param.setResult(getProperty(PROP_COUNTRY, ""));
|
|
|
+// }
|
|
|
+// });
|
|
|
+// //getSimState
|
|
|
+// XposedHelpers.findAndHookMethod(TelephonyManager, "getSimState", new XC_MethodHook() {
|
|
|
+// @Override
|
|
|
+// protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
+// log("spoof TelephonyManager.getSimState -> 5");
|
|
|
+// param.setResult(5);
|
|
|
+// }
|
|
|
+// });
|
|
|
}
|
|
|
|
|
|
@Override
|