gpt4 book ai didi

android - Android SuperUser 应用程序如何检测应用程序请求 root?

转载 作者:IT老高 更新时间:2023-10-28 23:39:04 38 4
gpt4 key购买 nike

我正在编写一个应用程序,它将使用 su 在 linux 内核中执行一些命令。我想知道 SuperUser 是如何确定应用程序要求 root 权限的?此外,是否有任何已知的方法(通过混淆)可以绕过此检查?

换句话说:尽管在 android list 文件中没有明确请求权限,但 Android/(SuperUser) 如何知道应用需要 root 权限。

我是从安全的角度提出这个问题的。我想详细了解它的工作原理,以确保恶意应用无法绕过 SuperUser。

最佳答案

super 用户系统有两个部分 - superuser binary (终端上的 su)和 SuperUser.apk (使用 su 管理应用程序的 Android 应用程序)。查看 su binary 的源代码, 当你通过 su 请求访问时

Process p = Runtime.getRuntime().exec("su");

它通过 android 消息管理器发布应用程序已请求 super 用户访问的 Intent 。

sprintf(command, "/system/bin/am broadcast -a '%s' --es socket '%s' --ei caller_uid '%d' --ei allow '%d' --ei version_code '%d' > /dev/null",action, socket_path, ctx->from.uid, allow, VERSION_CODE);  

管理器应用监听此 Intent 并要求用户处理请求(允许/拒绝)。

关于android - Android SuperUser 应用程序如何检测应用程序请求 root?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13138867/

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