Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
试图获得对android/system的r/w访问权限_Android_Shell_System_Root - Fatal编程技术网

试图获得对android/system的r/w访问权限

试图获得对android/system的r/w访问权限,android,shell,system,root,Android,Shell,System,Root,使用google(occam)的最新库存rom.img为Nexus 4编写根脚本,我有以下代码片段: ./adb wait-for-device echo "remounting system" ./adb shell "mount -o remount,rw /system" ./adb push su /system/bin/ echo "pushing super user" ./adb push Superuser.apk /system/app/ echo "pushing busyb

使用google(occam)的最新库存rom.img为Nexus 4编写根脚本,我有以下代码片段:

./adb wait-for-device
echo "remounting system"
./adb shell "mount -o remount,rw /system"
./adb push su /system/bin/
echo "pushing super user"
./adb push Superuser.apk /system/app/
echo "pushing busybox"
./adb push busybox /system/xbin/
./adb shell "chmod 06755 /system/bin/su"
./adb shell "chmod 0644 /system/app/Superuser.apk"
./adb shell "chmod 04755 /system/xbin/busybox"
./adb shell "cd /system/xbin"
./adb shell "busybox --install /system/xbin/"
我一直在犯错误

mount: Operation not permitted
failed to copy 'su' to '/system/bin//su': Read-only file system
pushing super user
failed to copy 'Superuser.apk' to '/system/app//Superuser.apk': Read-only file system
pushing busybox
failed to copy 'busybox' to '/system/xbin//busybox': Read-only file system
Unable to chmod /system/bin/su: No such file or directory
Unable to chmod /system/app/Superuser.apk: No such file or directory
Unable to chmod /system/xbin/busybox: No such file or directory
/system/bin/sh: busybox: not found
我尝试过使用多种方法获得r/w访问权限,但似乎没有任何效果。我必须自动化这个过程,因为其他人会使用这个脚本,所以它需要对自动化友好,但我就是搞不清楚这一点

我也试过了

#su
#mount
#mount | grep system
然后输入带有系统挂载的分区,并将其更改为r/w访问,但这也不起作用


在这一点上真的很沮丧。有人能帮忙吗

它给出了错误,因为您不是root用户。系统分区以只读方式安装。您可以尝试将二进制文件推送到/data/local/tmp。然后您可以使su可执行并最终运行它。但这并不意味着你可以有根。要成为root用户,您需要将psneuter之类的漏洞推送到/data/local/tmp并运行它。它使shell崩溃并重新打开一个具有根权限的新shell。然后,您可以以读写方式重新安装系统分区并安装su。

尝试下面的命令

adb shell "su -c mount -o remount,rw /system"
adb shell "su -c chmod 06755 /system/bin/su"

诸如此类。

愚蠢的问题,但你的设备是植根的吗?您无法访问
SU
,除非设备已根目录,并且您需要该设备才能
装载
否,未根目录。这就是我在这里要做的。但我遇到的问题是,如果没有写入权限,我无法将任何文件推送到设备的根目录/system文件夹。也许我在这一点上也完全错了,对shell脚本和adb还是相当陌生的。我的理解一直是,当你在手机上建立根目录时,一个新的图像会被推到手机上,这有效地添加了
su
可执行文件,以及添加了当应用程序试图访问su权限时检查su权限的代码。首先,我会下载Android源代码,编译并在测试设备(如Panda board)上推送它,然后尝试找出如何将
su
可执行文件推送到它上面。然后可能会为Nexus4制作一个图像并将其推到手机上。我在这里也可能是完全错误的。如果你的设备没有根,那么你不能在没有发现和利用现有软件中的一些安全错误的情况下进行私密操作。从根本上说,你正在尝试做一些不可能的事情。谢谢你的洞察力。我认为这就是问题所在。我之前的图像是一个库存rom,但作为根方法的一部分发布。它停止工作了,我想我不知道
su
必须是我正在制作的新图像的一部分。