su 二进制如何工作?
How su binary works?
我正在浏览 Chainsdd 的 su 二进制代码,当我浏览它时我看到它使用 setuid(0)
setgid(0)
授予 root 权限
所以我的问题是:这个方法可以用在我自己的 c 库中吗?
如果不是那么 su 是怎么做到的?是因为它被放置在 /system
分区中,并进行了一些 chmod
或其他类似的操作吗?
su
可执行文件应该设置 suid 标志。这允许它以其所有者的 uid 和 gid 开始,它们都应该是 root
。
从 Android 上的普通应用程序不可能调用 setuid(0)
或 setgid(0)
,因为它们都是以任意非根 uid 和 gid 启动的。
我正在浏览 Chainsdd 的 su 二进制代码,当我浏览它时我看到它使用 setuid(0)
setgid(0)
授予 root 权限
所以我的问题是:这个方法可以用在我自己的 c 库中吗?
如果不是那么 su 是怎么做到的?是因为它被放置在 /system
分区中,并进行了一些 chmod
或其他类似的操作吗?
su
可执行文件应该设置 suid 标志。这允许它以其所有者的 uid 和 gid 开始,它们都应该是 root
。
从 Android 上的普通应用程序不可能调用 setuid(0)
或 setgid(0)
,因为它们都是以任意非根 uid 和 gid 启动的。