Python 在 Android 上如何取得 root 权限以改写系统文件?

2016-01-05 13:55:32 +08:00
 usb
rt, 都找不到相关资料
7166 次点击
所在节点    Python
40 条回复
tempdban
2016-01-06 09:29:59 +08:00
@usb 你用的什么 app 啊这是
tempdban
2016-01-06 09:35:36 +08:00
@usb 莫非是直接调用的 libpython ,而不是用的 interpreter
usb
2016-01-06 10:09:36 +08:00
@tempdban 安卓上只有 qpython 呢
tempdban
2016-01-06 10:19:39 +08:00
@usb 谁说的一号我刚编译了 pyrhon2.7 armeabi bionic
usb
2016-01-06 10:52:22 +08:00
@tempdban 你厉害_(:з」∠)_
tempdban
2016-01-06 10:59:45 +08:00
@usb 不是这个意思,你的环境限制你只能从终端读取字符
usb
2016-01-06 11:55:27 +08:00
@tempdban 呃呃,也就是说 Python 脚本在 Android 上不能取得 root 权限?
tempdban
2016-01-06 12:16:53 +08:00
@usb os.system('su -c python')能执行么
usb
2016-01-06 12:19:24 +08:00
@tempdban
error: only position independent executables (PIE) are supported.
呃呃
WayToPlay
2016-01-06 12:41:53 +08:00
要 root android ,以 linux root 执行 python 干嘛啊,直接先执行 adb root && adb reboot 就行了吧。
如果 adb 没有权限,先在 root 下 adb kill-server 。
shyling
2016-01-06 12:53:12 +08:00
通过 popen 执行 su -,然后会启动一个 root 权限的 shell ,通过这个 shell 操作。。其他的方法的话。。
通过 shell 设置你的二进制文件 setuid 位,然后通过 os.setuid(0)。不过估计不太可行。。
usb
2016-01-06 12:59:25 +08:00
@WayToPlay 你可能误解了,我是想用 Python 脚本修改系统文件的
usb
2016-01-06 13:02:09 +08:00
@shyling 其实我是想用 Python 来自动化改 hosts 文件的,每次都 shell 不是更麻烦了吗 Q3Q
tempdban
2016-01-06 13:14:48 +08:00
@usb 你看,qpython 是调用 libpython 实现的功能,这种方式都比较麻烦,需要调用 libpython 的进程属主是 su 用户,这个属主应该是 app_process
tempdban
2016-01-06 13:17:22 +08:00
@usb 所以……还是用 shell 吧,正好学学 shell 脚本,再下载一个叫 tasker 的东西
tempdban
2016-01-06 13:18:20 +08:00
@usb 或者你和 qpython 提意见 让他们用 pie 编译 python
usb
2016-01-06 13:19:13 +08:00
@tempdban 不太明白😁那还有办法吗?
usb
2016-01-06 13:20:38 +08:00
@tempdban 太麻烦了。没动力学😂
shyling
2016-01-08 10:29:25 +08:00
@usb 写一个二进制文件做更新 hosts 的操作。。 然后用 su -c 执行
usb
2016-01-08 10:59:56 +08:00
@shyling 这。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/248475

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX