使用build标签进行Android root检测?

时间:2013-09-15 03:41:29

标签: android root

以下方法是我们可以以编程方式检测Android设备是否已植根的方法之一:

public boolean checkRootMethod1(){
    String buildTags = android.os.Build.TAGS;

    if (buildTags != null && buildTags.contains("test-keys")) {
        return true;
    }
    return false;
}

有人可以解释一下这实际上在做什么吗?什么是“test-keys”构建标记,它与root有什么关系?我无法从谷歌找到任何相关信息。

2 个答案:

答案 0 :(得分:5)

Release-Keys和Test-Keys与内核在编译时的签名方式有关。 Release-Keys意味着它是使用官方开发者的官方密钥签署的。 Test-Keys表示它是使用第三方开发人员生成的自定义密钥签名的。从安全角度来看,Release-Keys通常意味着内核更安全,但情况并非总是如此。

答案 1 :(得分:1)

String buildTags = android.os.Build.TAGS;

此代码用于获取位于build.prop的{​​{1}}。正如您所看到的那样,您获得了/system/build.prop,这意味着您在android.os.Build.TAGS内获得了ro.build.tags值。这是code of build.java

对于您的第二个问题,我无法确定它是否有效,因为我的build.prop字符串在我的root设备中为ro.build.tags