0

特定のファイルを削除して、攻撃に対してデバイスを少し強化するAndroid用のシェルスクリプトを作成しようとしています。このスクリプトは、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 シェル コマンドはわかりませんが、bash に非常に似ていると仮定すると、これは機能するはずです。

于 2013-01-15T12:18:27.140 に答える