作者gpc (gpc)
看板AndroidDev
标题Re: [问题] 软体需要root权限?
时间Tue Apr 12 00:47:45 2011
1F:推 NotExist:官方ROM应该还是可以用su? 03/17 16:35
2F:推 sometimes4:感谢你的回答,我了解了 03/17 19:59
针对这个问题 我今天刚好有实作到
首先请看
http://0rz.tw/FcRGe
这里是ANDROID内建的SU程式,请注意第62行
if (myuid != AID_ROOT && myuid != AID_SHELL)
这是非常关键的地方
当你要用内建的 跑shell command的时候,他会检查你是不是ROOT或者SHELL
SHELL => 很明显就是ADB SHELL (adbd)
这就表示你可以在模拟器里面接adb shell -> 然後打su 做一些事情
但如果你安装一些需要ROOT的应用程式,是不能跑的,因为他们的UID不是ROOT也不是SHELL
也就是说如果你要做应用程式 且要能够做些ROOT(UID=0)的事情,
你就必须要把内建的su砍掉,换成你修改版的(比方说把第62行相关位置拿掉)
这样你就可以轻松的做root的事情
当然现在最流行的Superuser(授权程式) 他就是搭配修改版的su而来
而且他还有黑白名单那些,所以功能比较强大
有兴趣 可以参考CyanogenMod的原始码
https://github.com/CyanogenMod/android_system_extras/tree/gingerbread/su
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.136.121.138
3F:推 abccbaandy:专业推 04/12 02:39
4F:推 nowar100:很棒 已收录 04/12 11:13
5F:推 sorkayi:推 04/12 17:43