Skip to content

Difference between Xposed and VirtualXposed

weishu edited this page Jun 26, 2018 · 8 revisions

虽说 VirtualXposed 也能运行Xposed插件,但是与安装在系统路径的Xposed还是有一些差别,具体如下:

  1. VirtualXposed 不支持修改系统的Xposed模块。如重力工具箱,面板顶栏美化等。
  2. 短函数(函数体为空,或者函数体直接return常数/函数参数的函数) 的hook不够稳定。对于这种函数,加一句Log.d("fake", "just for vxp") 即可避免。
  3. VirtualXposed 中 hook native 函数时,必须首先加载对应native函数对应的so。详见:#39
  4. IXposedHookZygoteInit 接口含义发生变化;在VirtualXposed中实际为进程启动的入口,并不能hook zygote进程。
  5. XC_LoadPackage 中的 isFirstApplication 永远为true。
  6. 完全不支持资源hook。

如何判断是否运行在VirtualXposed中?

if (System.getProperty("vxp") != null) {
    // running in VirtualXposed
}