当前位置: 首页 > 知识库问答 >
问题:

如何在包含magisk应用程序的根设备中限制我的android应用程序?

莫繁
2023-03-14

我正在开发一个android应用程序。我想从扎根设备中保存我的应用程序。我成功地限制了我的应用程序与根设备,但一个根设备有magisk应用程序,所以在这个magis应用程序的帮助下,用户可以打开我的应用程序在根设备也。有人能帮我吗?提前谢了。

我的代码是

私有静态布尔checkRootMethod1(){String buildTags=build.tags;return buildTags!=null&&buildTags.contains(“test-keys”);}

private static boolean checkRootMethod2() {
    String[] paths = {"/system/apn/which sup/Superuser.apk", "/sbin/su", "/system/bin/su", "/system/xbin/su",
            "/data/local/xbin/su", "/data/local/bin/su", "/system/sd/xbin/su", "/system/bin/.ext/.su",
            "/system/bin/failsafe/su", "/data/local/su", "/system/xbin/mu", "/su/bin/su", "/system/usr/we-need-root/su-backup"};
    for (String path : paths) {
        if (new File(path).exists()) return true;
    }
    return false;
}

private static boolean checkRootMethod3() {
    File file = Environment.getDataDirectory();
    return file != null && file.canWrite();
}

private static boolean checkRootMethod4() {
    File file = new File("/system/bin/");
    return file != null && file.canWrite();
}

private static  boolean checkRootMethod5() {
    return new File("/system/app/Superuser.apk").exists();
}

共有1个答案

阎慈
2023-03-14

几天后,我找到了解决办法。RootDevice是一个库,它将检查所有类型的根设备检查。比如:

  • CheckRootManagementApps
  • CheckPotentiallyDangerousApps
  • CheckRootCloakingApps
  • CheckTestKeys
  • checkfordangerousprops
  • CheckForBusyBoxBinary
  • 检查suburial
  • checksuexists
  • CheckForrwSystem
 类似资料:
  • 我使用新的Android应用程序包格式构建了我的项目。有了APK文件,我可以把APK下载到我的设备上,打开它,然后立即安装应用程序。我下载的应用程序是一个捆绑包(.aab格式),我的Nexus 5x运行Android8.1无法打开文件。有没有什么方法可以像APKs一样方便地在设备上安装AABs?

  • Android需要超级用户来删除、修改或读取根目录中的任何内容,但系统是只读的。 但是,我注意到,即使没有根设备,一些应用程序也能够利用这些进程。例如,Norton能够在非根手机上执行设备擦除。是否有方法授予我的应用程序类似的访问权限?

  • 我试图建立一个基于libSuperuser的应用程序。我的设备是根,但我有两个问题: 1) 在出口我的apk后,出于某种原因,它正在索取证书。我需要导出对根设备没有意义的应用程序签名。如果设备已根目录,为什么需要签名? 2) 运行应用程序时,我检查应用程序是否具有调用Shell的root权限。苏。available()在libsuperuser中可用,返回“false”。这意味着该应用程序没有ro

  • 我想看看我的应用程序是否可以在即时应用程序中完成。我的应用程序是基于从我的船上获取NFC发送的温度。 不幸的是,android开发者网站的常见问题表示,只有以下几个权限可用。 https://developer.android.com/topic/instant-apps/faqs.html 这意味着NFC权限是不可能的? 提前感谢您的回答

  • 我想在发布版本中只使用英语,在调试版本中使用多种语言。我可以使用ProductFlavor实现这一点,但不能使用buildType。 我正在使用重新配置。。但它不能在BuildType下使用。如果我尝试在buildTypes下使用它,构建失败,我会得到以下错误: 找不到Gradle DSL:重新配置() 任何帮助都将不胜感激 同一行中还有一个问题。我有一个场景,只有当QA_BUILD为假时,我才需

  • 我到处都找遍了,但找不到任何答案。 请原谅我。 我使用WebView在Android应用程序上成功地实现了一个WebRTC项目(该应用程序使用我托管的信令服务器流式传输视频)。 问题是,当我使用(不那么)旧的Web浏览器在另一部Android手机上测试该应用程序时,视频无法流式传输,因为webview不支持WebRTC。 我的Webview版本是: WebView版本(22209):UA:Mozi