|
@@ -0,0 +1,29 @@
|
|
|
|
|
+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 HookMessage extends BaseHook {
|
|
|
|
|
+ public static void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
|
|
|
|
|
+ try {
|
|
|
|
|
+ Class<?> bhyo = XposedHelpers.findClass("bhyo", lpparam.classLoader);
|
|
|
|
|
+ XposedHelpers.findAndHookMethod(bhyo, "d", String.class, new XC_MethodHook() {
|
|
|
|
|
+ @Override
|
|
|
|
|
+ protected void afterHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
|
|
+ log("spoof upi-carrier-id-with-mo-sms-relax");
|
|
|
|
|
+ XposedHelpers.setObjectField(param.getResult(), "b", "upi-carrier-id-with-mo-sms-relax");
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ XposedHelpers.findAndHookMethod(bhyo, "c", String.class, new XC_MethodHook() {
|
|
|
|
|
+ @Override
|
|
|
|
|
+ protected void afterHookedMethod(MethodHookParam param) throws Throwable {
|
|
|
|
|
+ log("spoof .C = 1");
|
|
|
|
|
+ XposedHelpers.setIntField(param.getResult(), "C", 1);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|