梦迪丶 发表于 2020-10-5 16:05

请教:Xposed Hook 系统Api的问题

目的:通过xposed Hook 修改设备信息中的内核版本号,用adb命令读出自己更改后的内核版本号。

系统根目录/proc/version文件中记录内核版本号,这个文件是有读取权限,没有修改权限的(root也不行)。

通过adb命令adb shell uname -a 可以获取到这个内核版本号。

代码System.getProperty("os.version");获取系统版本号

public static String getProperty(String key) {
      checkKey(key);
      SecurityManager sm = getSecurityManager();
      if (sm != null) {
            sm.checkPropertyAccess(key);
      }

      return props.getProperty(key);
    }

我是根据论坛中的教程,照葫芦画瓢写的(肯定是不对)
XposedHelpers.findAndHookMethod("java.lang.System", loadPackageParam.classLoader,
                "getProperty",//要hook的方法(函数)
                String.class,
                new XC_MethodHook() {
                  //这里是hook回调函数
                  @Override
                  protected void afterHookedMethod(MethodHookParam param) throws Throwable {

                        param.setResult("355888888888888");

                  }
                });

请教下,要想达成目的,该如何去写。

lefu999 发表于 2020-10-29 18:07

首先你这样做没法让adb直接读出你hook以后的属性值 因为xposed的hook是针对包名的 你可以直接改uname的代码从而达到你的需求

梦迪丶 发表于 2020-11-1 09:50

lefu999 发表于 2020-10-29 18:07
首先你这样做没法让adb直接读出你hook以后的属性值 因为xposed的hook是针对包名的 你可以直接改uname的代 ...

感谢您的帮助,请问改uname的代码是指的在源码里改,然后刷入手机吗

lefu999 发表于 2020-11-12 15:02

梦迪丶 发表于 2020-11-1 09:50
感谢您的帮助,请问改uname的代码是指的在源码里改,然后刷入手机吗

是的哦 adb push 进去就ok
页: [1]
查看完整版本: 请教:Xposed Hook 系统Api的问题