由于很多APP开始针对XP做对应的检测如微信 支付宝 钉钉等 所以使用定制化的方式隐藏框架
常见检测方法
一. 由于Xposed的hook,是通过so修改被hook的方法为native来实现的,所以检测方也可以通过检测方法是否变成了native来达到检测的目的 Throwable.class.getDeclaredMethod(“getStackTrace” 是否Nativ方法 二. StackTraceElement getClassName 检测是否存在 de.robv.android.xposed. com.android.internal.os.ZygoteInit com.saurik.substrate. getMethodName检测 handleHookedMethod main invoked 三. 检查XposedHelper的成员fieldCache,methodCache,constructorCache 四. 检查xposed的文件 五. 检查 安装包 六. 检查 /system/lib 是否有xposed文件 /system/lib/libxposed_art.so /system/lib64/libxposed_art.so 七. 检查 /system/framework/XposedBridge.jar 八. 通过 代码抛出一个异常,在堆栈中检查是否含有 de.robv.android.xposed.XposedBridge 之类的 检查com.android.internal.os.ZygoteInit 是否出现了两次 九. 检查环境变量CLSAAPATH=/system/framework/XposdedBridge.jar 十. 检查 /proc/self/maps 通过读取 shell 命令 /proc/pid(应用进程id)/maps 可以拿到当前上下文的so和jar列表,查找Xposed相关 十一. 通过loadClass 检测 de.robv.android.xposed.XposedHelpers de.robv.android.xposed.XposedBridge
几种隐藏方案
1 java层检测XP特