我已经成功地根植了我的Nexus4,并试图通过RootTools.jar扩展在java中接收根访问。当我调用RootTools.isRootAvailable()时,我接收到true,但是当调用RootTools.isAccessGiven() (实际上应该给我根访问权)时,我会收到false吗??我还通过adb shell登录了设备,并执行了su和id命令,这两个命令返回
uid=0(root) gid=0(root) groups=1003(graphics), 1004(input),1007(log),1009(mount),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats) context=u:r:shell:s0那么,为什么我不能在java中获得根访问呢?
发布于 2013-08-14 13:15:45
几件事。在Google寻呼机上,有迹象表明这个应用程序在Android4.3 SuperSU上仍然存在缺陷。
注意:如果您刚刚升级到Android4.3,您需要手动重新根目录,更新应用程序是不够的。不好意思,大量的更新,但我们需要得到4.3工作正常。
Android4.3还增加了对文件功能支持的支持,以消除对setuid二进制文件的需求,这可能是您所看到的问题的一部分,因为您无法将java代码作为超级用户运行,而是在java代码的过程中运行。您可以在/proc/<pid>/status中看到java进程的功能。即使您正在执行su功能/文件功能,跨execve的功能也是不可靠的。此外,Zyogote还为从中分叉的java进程设置了功能边界集。希望这对一些人有帮助。
https://stackoverflow.com/questions/18231733
复制相似问题