0

我一直在尝试为 android 制作一个 shell 脚本,该脚本会删除某些文件以稍微强化设备以抵御攻击。我认为该脚本已在运行 froyo 的 ubuntu 上的 android 模拟器上运行。当我尝试在运行 4.2 的 Windows 机器上运行它时,它会在底部显示错误。我检查了所有目录并且它们存在。我正在使用 adb 运行它。

echo             ANDROID
echo      HARDENING STARTED
#removing files in the /system/xbin directory
mount -o rw,remount /dev/block/mdblock0 /system
    rm  /system/xbin/tcpdump
            rm  /system/xbin/su
#removing files in the /system/bin directory
                    rm  /system/bin/bootanimation
                    rm  /system/bin/dumpstate
                    rm  /system/bin/ping
                    rm  /system/bin/ping6
mount -o ro,remount /dev/block/mdblock0 /system
echo                    ANDROID
echo              HARDENING COMPLETE

带回这个错误..我不知道发生了什么。

ANDROID
HARDENING STARTED
mount:No such file or directory
, No such file or directorytcpdump
, No such file or directorysu
, No such file or directoryootanimation
, No such file or directoryumpstate
, No such file or directorying
, No such file or directorying6
mount:No such file or directory
ANDROID
HARDENING COMPLETE

请帮忙

瑞安

4

2 回答 2

2

该目录/system不存在,因此您的mount命令失败。

接下来,您尝试从不存在且因此未安装的/system目录中删除几个文件,这会导致更多错误。

最后,您尝试重新安装/system仍然不存在的 ,导致您的最后一个错误。

唯一的问题是错误消息有点乱码,文件名以某种方式被消息覆盖。

编辑:要回答您的其他问题...

如果您可以检查文件是否存在,则可以正确处理这种情况(而不是使用通配符):

# Check which device to use
if [ -e /dev/block/mdblock0 ]; then
  device=/dev/block/mdblock0
elif [ -e /dev/block/mtdblock0 ]; then
  device=/dev/block/mtdblock0
else
  echo "Device not found";
  exit 1;
fi

mount -o rw,remount $device /system
# etc...

我不知道确切的 Android shell 命令,但假设它与 bash 非常相似,这应该可以工作。

于 2013-01-15T12:18:27.140 回答
1

将行尾更改为 Unix 样式,将解决您的所有问题。

于 2013-08-07T07:22:25.427 回答