我想知道是否手机是否已植根,而无需请求root权限。我怎么能这样做?
File.Exists("/system/bin/su")
?不确定,我认为我不能因为权限而PackageManager
和超级用户不是onlu su经理(例如我知道SuperSU)su
不是一个选项,因为它会触发su提示符,这是我在非root应用程序中不需要的内容有什么想法吗?我的目的是获取有关有多少设备被植根的匿名统计信息,显然是经用户同意:)
答案 0 :(得分:0)
选项1.可能,它不需要任何特殊许可。
选项2.有根电话可能没有任何超级用户管理器应用程序。
选项3.如你所说,这不是一个好的检测方法。
此外,还有一个选项是检查ro.build.tag(使用getprop | grep ro.buil.tag
或android.os.Build.TAG
),如果它包含testkeys
字符串。
编辑:对于选项1,我建议你通过setuid / setgid权限找到(即find / -perm -2000 -o -perm -4000
,并检查su是否在列表中)
答案 1 :(得分:-3)
你无法可靠地做到这一点,因为手机“扎根”的含义并不总是一样的。你要做的所有提议都是测试一些流行的与root相关的工具。但是,无法检测手机是否以不使用这些工具的方式植入。