0

当我为我的应用请求权限时.exec("su"),我的 SuperSU 应用弹出要求我按下“授予”按钮以允许我的应用获得 root 权限。由于某些原因,我的屏幕不够大,导致我无法按下 SuperSU 应用程序附带的“授予”按钮。我认为 adb 命令 sendevent 可能会帮助我完成这一步,但很难猜测按下按钮的坐标。

有没有其他方法可以做到这一点,或者其他替代应用程序可以在不按下授予按钮的情况下做到这一点?

任何线索将不胜感激。

4

1 回答 1

0

您可能应该自定义超级用户应用程序以重新定位按钮。

或者,如果您在设备上有一个 root shell(也许是通过 adb?),您可以制作一个 setuid 复制工具箱 sh 消除对按钮对话框的需要,但这会使设备上的任何东西都可以使用它,这是非常冒险的。

无论如何,您似乎也误解了超级用户的能力:您的应用程序不能以 root 身份运行,它只能启动一个辅助进程。

比任何这些开放式 root 访问想法更好的是拥有一个固定功能、静态链接的 setuid 可执行文件,它不接受任何输入,可以执行您希望发生的任何特权任务。该程序越短,您审核它的机会就越大。

于 2012-04-25T06:04:56.050 回答