1
tempdban 2016-01-05 14:06:47 +08:00 via Android
要么你 su -c python
要么 os.system('su -c') |
3
usb OP |
4
clino 2016-01-05 14:25:01 +08:00
os.system 是调用一个子进程 并不会对自己有所影响
|
5
clino 2016-01-05 14:25:42 +08:00
照楼上的说应该是 os.system('su -c cat /system/etc/a')
|
14
usb OP |
16
ChiChou 2016-01-05 22:27:50 +08:00
|
17
tempdban 2016-01-06 00:45:56 +08:00 via Android
import sys,os
args = [sys.executable] + sys.argv os.execlp('su', 'su', '-c', ' '.join(args)) |
20
usb OP |
29
usb OP |
30
WayToPlay 2016-01-06 12:41:53 +08:00
要 root android ,以 linux root 执行 python 干嘛啊,直接先执行 adb root && adb reboot 就行了吧。
如果 adb 没有权限,先在 root 下 adb kill-server 。 |
31
shyling 2016-01-06 12:53:12 +08:00
通过 popen 执行 su -,然后会启动一个 root 权限的 shell ,通过这个 shell 操作。。其他的方法的话。。
通过 shell 设置你的二进制文件 setuid 位,然后通过 os.setuid(0)。不过估计不太可行。。 |
34
tempdban 2016-01-06 13:14:48 +08:00 via Android
@usb 你看,qpython 是调用 libpython 实现的功能,这种方式都比较麻烦,需要调用 libpython 的进程属主是 su 用户,这个属主应该是 app_process
|