test "$(whoami)" != root && echo "你是憨批?不給Root用你媽 爬" && exit 1 abi="$(getprop ro.product.cpu.abi)" case $abi in arm64*) [[ $(getprop ro.build.version.sdk) -lt 28 ]] && echo "設備Android $(getprop ro.build.version.release)版本過低 請升級至Android 9+" && exit 1 ;; *) echo "-未知的架構: $abi" exit 1 ;; esac #if [[ -d /data/user/0/com.tencent.mobileqq/files/aladdin_configs/964103426 ]]; then # echo "爬 不給你用臭批阿巴" && exit 2 #fi if [[ -d $(magisk --path) ]]; then PATH="/system_ext/bin:/system/bin:/system/xbin:/vendor/bin:/vendor/xbin:/data/data/Han.GJZS/files/usr/busybox:/data/data/Han.GJZS/files/usr/bin:$(magisk --path)/.magisk/busybox" else PATH="/system_ext/bin:/system/bin:/system/xbin:/vendor/bin:/vendor/xbin:/data/data/Han.GJZS/files/usr/busybox:/data/data/Han.GJZS/files/usr/bin" echo "Magisk busybox Path does not exist" fi ; export PATH="$PATH" backup_version="V10.6 2021/10/22-20:59" #設置二進制命令目錄位置 [[ $bin_path = "" ]] && echo "未正確指定bin.sh位置" && exit 2 bin_path="${bin_path/'/storage/emulated/'/'/data/media/'}" MODDIR="${MODDIR/'/storage/emulated/'/'/data/media/'}" Status_log="$MODDIR/執行狀態日誌.txt" rm -rf "$Status_log" filepath="/data/backup_tools" busybox="$filepath/busybox" busybox2="$bin_path/busybox" #排除自身 exclude=" busybox_path bin.sh" if [[ ! -d $filepath ]]; then mkdir -p "$filepath" [[ $? = 0 ]] && echo "設置busybox環境中" fi [[ ! -f $bin_path/busybox_path ]] && touch "$bin_path/busybox_path" if [[ $filepath != $(cat "$bin_path/busybox_path") ]]; then [[ -d $(cat "$bin_path/busybox_path") ]] && rm -rf "$(cat "$bin_path/busybox_path")" echo "$filepath">"$bin_path/busybox_path" fi #刪除無效軟連結 find -L "$filepath" -maxdepth 1 -type l -exec rm -rf {} \; if [[ -d $bin_path ]]; then [[ ! -f $busybox2 ]] && echo "$busybox2不存在" && exit 1 if [[ -f $busybox ]]; then filemd5="$(md5sum "$busybox" | cut -d" " -f1)" filemd5_1="$(md5sum "$busybox2" | cut -d" " -f1)" if [[ $filemd5 != $filemd5_1 ]]; then echo "busybox md5不一致 重新創立環境中" rm -rf "$filepath"/* fi fi find "$bin_path" -maxdepth 1 -type f | egrep -v "$(echo $exclude | sed 's/ /\|/g')" | while read; do File_name="${REPLY##*/}" if [[ ! -f $filepath/$File_name ]]; then cp -r "$REPLY" "$filepath" chmod 0777 "$filepath/$File_name" echo "$File_name > $filepath/$File_name" else filemd5="$(md5sum "$filepath/$File_name" | cut -d" " -f1)" filemd5_1="$(md5sum "$bin_path/$File_name" | cut -d" " -f1)" if [[ $filemd5 != $filemd5_1 ]]; then echo "$File_name md5不一致 重新創建" cp -r "$REPLY" "$filepath" chmod 0777 "$filepath/$File_name" echo "$File_name > $filepath/$File_name" fi fi done "$busybox" --list | while read; do if [[ $REPLY != tar && ! -f $filepath/$REPLY ]]; then ln -fs "$busybox" "$filepath/$REPLY" fi done else echo "遺失$bin_path" exit 1 fi if [[ ! -f $busybox ]]; then echo "不存在$busybox ...." exit 1 fi export PATH="$filepath:$PATH" export TZ=Asia/Taipei Open_apps="$(dumpsys window | grep -w mCurrentFocus | egrep -oh "[^ ]*/[^//}]+" | cut -f 1 -d "/")" #下列為自定義函數 Set_back() { return 1 } endtime() { #計算總體切換時長耗費 case $1 in 1) starttime="$starttime1" ;; 2) starttime="$starttime2" ;; esac endtime="$(date -u "+%s")" duration="$(echo $((endtime - starttime)) | awk '{t=split("60 秒 60 分 24 時 999 天",a);for(n=1;n>"$Status_log" } get_version() { while :; do version="$(getevent -qlc 1 | awk '{ print $3 }')" case $version in KEY_VOLUMEUP) branch=true echoRgb "$1" ;; KEY_VOLUMEDOWN) branch=false echoRgb "$2" ;; *) continue ;; esac sleep 1.2 break done } isBoolean() { nsx="$1" if [[ $1 = 1 ]];then nsx=true elif [[ $1 = 0 ]];then nsx=false else echoRgb "$MODDIR/backup_settings.conf $1填寫錯誤" "0" && exit 2 fi } bn=147 echoRgb "\n --------------歡迎使用⚡️🤟🐂纸備份--------------\n -當前腳本執行路徑:$MODDIR\n -busybox版本:$(busybox | head -1 | awk '{print $2}')\n -appinfo版本:$(appinfo --version)\n -腳本版本:$backup_version\n -設備架構$abi\n -品牌:$(getprop ro.product.brand)\n -設備代號:$(getprop ro.product.device)\n -型號:$(getprop ro.product.model)\n -Android版本:$(getprop ro.build.version.release)\n -SDK:$(getprop ro.build.version.sdk)\n -終端:$( -o ands -pn "$Open_apps" 2>/dev/null)" bn=195