我的本機進程在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. 我可以修改我的字符數組中的一個元素,但我不能修改另一個
- 9. 我可以修改settings.py中的static_url嗎?
- 10. 可以將變量從一個進程傳遞到另一個進程嗎?
- 11. IPC可以通過一個進程破壞另一個進程嗎?
- 12. 我可以改進我的驗證嗎?
- 13. 我們可以將我們的代碼注入到另一個子進程嗎?
- 14. 可以修改app.config以生成進程嗎?
- 15. 我可以編程修改選擇哪個UITableViewCell嗎?
- 16. 我可以修改一個const成員變量嗎?
- 17. 我可以在C#中修改一個Word '97文檔嗎?
- 18. Linux中進程可以修改自己的頁表項嗎?
- 19. 我可以修改或擴展ChartJS嗎?
- 20. 我可以修改RoR CRUD行爲嗎?
- 21. 我可以暫停除一個線程之外的進程嗎?
- 22. 是否可以修改子進程?
- 23. 我可以刪除在另一個進程中創建的HBITMAP對象嗎?
- 24. 可以修改jQuery庫嗎?
- 25. 可以修改rt.jar嗎?
- 26. 可以修改TWTweetComposeViewController嗎?
- 27. 我可以收到另一個應用程序的信息嗎?
- 28. 我可以試用一個公共GMap,然後通過編程修改它嗎?
- 29. 可以在另一個線程中更改userInteractionEnabled屬性嗎?
- 30. 我可以修改主線程的運行方法嗎
附:修改正在運行的進程的UID非常重要,而不是啓動一個新進程。 – trashkalmar 2011-03-29 18:26:39