我的本机进程在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