gpt4 book ai didi

android - 如何检查android中的root访问权限?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:58:28 24 4
gpt4 key购买 nike

我创建了一个方法来检查 android 手机是否已 root。这是按如下方式完成的

public int checkrootcommand(String string) {
// TODO Auto-generated method stub
Process exec;
try {

exec = Runtime.getRuntime().exec(new String[]{"su","-c"});

final OutputStreamWriter out = new OutputStreamWriter(exec.getOutputStream());
out.write("exit");
out.flush();

Log.i(SUPER_USER_COMMAND, "su command executed successfully");
return 0; // returns zero when the command is executed successfully
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 1; //returns one when the command execution fails
}

但问题是方法 checkrootcommand() 首先执行它完美地工作,但是当再次调用相同的方法时, super 用户 session 仍在运行。一旦执行了方法,有什么方法可以结束 super 用户 session 吗??

最佳答案

没有可靠的方法可以检测已通过利用软件漏洞克服硬件保护的设备上的 root 情况。

充其量您可以检测特定工具集的存在或扫描不应该存在的东西或文件中的更改 - 但这需要知道给定安装应该是什么样子,并假设操作系统您用于进行检查的功能尚未被修改以隐藏更改。

要可靠地扫描,您需要确保受信任的代码在比不受信任的代码更低的级别上运行;获得 root 权限的设备是这种保证已从根本上被打破的设备,或者最终用户比开发人员更受信任的设备。

关于android - 如何检查android中的root访问权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6736411/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com