Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – Snapchat如何检测XPosed框架?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我尝试在我新植入的Xposed智能手机上安装Snapchat.但是,当Snapchat检测到Xposed Framework时,登录是不可能的.
我“理解”这种限制的原因,尽管我认为它有点太多,因为我没有使用Xposed for Snapchat.

但我的问题是:他们如何检测框架?

解决方法

SnapChat使用Google的 SafetyNet Attestation API并没有专门检查是否安装了 XPosed. SnapChat在第一次启动应用程序时运行SafetyNet.

为了确保SnapChat没有专门检查XPosed框架,我反编译Snapchat并运行grep -lri xposed.@L_450_4@没有结果.

检查是否安装了XPosed:

我敢肯定有很多方法可以检查是否安装了Xposed.我编写了以下方法获取当前安装的Xposed版本,如果在设备上找不到XposedBridge.jar,则返回null:

/**
 * Get the current Xposed version installed on the device.
 * 
 * @param context The application context
 * @return The Xposed version or {@code null} if Xposed isn't installed.
 */
public static Integer getXposedVersion(Context context) {
  try {
    File xposedBridge = new File("/system/framework/XposedBridge.jar");
    if (xposedBridge.exists()) {
      File optimizedDir = context.getDir("dex",Context.MODE_PRIVATE);
      DexClassLoader dexClassLoader = new DexClassLoader(xposedBridge.getPath(),optimizedDir.getPath(),null,ClassLoader.getSystemClassLoader());
      Class<?> XposedBridge = dexClassLoader.loadClass("de.robv.android.xposed.XposedBridge");
      Method getXposedVersion = XposedBridge.getDeclaredMethod("getXposedVersion");
      if (!getXposedVersion.isAccessible()) getXposedVersion.setAccessible(true);
      return (Integer) getXposedVersion.invoke(null);
    }
  } catch (Exception ignored) {
  }
  return null;
}

据我所知,Xposed总是在/ system / framework中有XposedBridge.jar,所以这应该适用于Xposed的官方版本,但在将来的版本中可能会中断.

大佬总结

以上是大佬教程为你收集整理的android – Snapchat如何检测XPosed框架?全部内容,希望文章能够帮你解决android – Snapchat如何检测XPosed框架?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。