作者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