我的本機進程在Android設備的根目錄下運行。是否可以修改另一個進程的UID以便爲其提供根?
原因是要訪問某些Android「功能」,對於非根進程無法訪問。我可以修改另一個進程的UID嗎?
回答
否。如果其他應用程序需要root權限,則需要自行獲得權限。
如果你有一個根深蒂固的手機,你可以使用(通常)/system/xbin/su
顯式運行進程。不過,您不能更改已經運行的程序的uid。 (理論上你可以在內核內存中挖掘並更改所有存儲的uid,但這是一個非常糟糕的主意,因爲你不能鎖定你正在修改的內容,並且如果它們改變或移動,就會導致內核恐慌。)
謝謝你,將深入挖掘... – trashkalmar 2011-03-29 18:35:41
你需要做一個exec bin(A)
root運行的而且做:
- 附加到要改變UID
- 得到進程的狀態,並保存
- 調用setuid的系統進程呼叫遠程
- 使用保存的狀態到d附加過程。
以上所有可以通過ptrace完成。
更多信息可以在這裏找到:
http://www.linuxjournal.com/node/6210/print
http://www.phrack.org/issues.html?issue=59&id=12&mode=txt
如果我附加到進程並注入一些代碼強制它到系統調用setuid(0),爲什麼它應該成功?目標進程早些時候已經刪除了根權限。或者我沒有明白你的想法? – trashkalmar 2012-09-23 20:51:41
你說得對,那不會成功。我省略了這個事實。對不起,沒有用的答案... – Ascatgz 2012-09-24 01:38:37
- 1. 我可以修改另一個片段嗎?
- 2. 我可以創建一個可以修改用戶界面的線程嗎?我可以放棄嗎?
- 3. 我可以從另一個進程卸載DLL嗎? (Win32)
- 4. 可以修改一個結構嗎?
- 5. 我可以修改字段的值以進行測試嗎?
- 6. 一個進程可以使用另一個進程創建的套接字嗎?
- 7. 我可以將Perforce標籤從一個修訂移到另一個修訂嗎?
- 8. 我可以修改settings.py中的static_url嗎?
- 9. IPC可以通過一個進程破壞另一個進程嗎?
- 10. 可以修改app.config以生成進程嗎?
- 11. 我可以改進我的驗證嗎?
- 12. 我可以編程修改選擇哪個UITableViewCell嗎?
- 13. 我可以在C#中修改一個Word '97文檔嗎?
- 14. Linux中進程可以修改自己的頁表項嗎?
- 15. 我可以修改RoR CRUD行爲嗎?
- 16. 我可以修改或擴展ChartJS嗎?
- 17. 是否可以修改子進程?
- 18. 我可以刪除在另一個進程中創建的HBITMAP對象嗎?
- 19. 可以修改rt.jar嗎?
- 20. 可以修改TWTweetComposeViewController嗎?
- 21. 我可以試用一個公共GMap,然後通過編程修改它嗎?
- 22. 我可以收到另一個應用程序的信息嗎?
- 23. 可以在另一個線程中更改userInteractionEnabled屬性嗎?
- 24. 我可以加載多個COMCTL32.dll到一個進程中嗎?
- 25. 我可以委託Windows服務執行到另一個進程嗎?
- 26. 我可以通過pid向另一個python進程發送消息嗎?
- 27. 子進程是否可以修改父進程的內存?
- 28. 我可以讓make的行爲像一個守護進程嗎?
- 29. 這是一個緩慢的查詢嗎?可以改進嗎?
- 30. 我可以改進此查詢嗎?
附:修改正在運行的進程的UID非常重要,而不是啓動一個新進程。 – trashkalmar 2011-03-29 18:26:39