diff --git a/tools/bin/bin.sh b/tools/bin/bin.sh new file mode 100644 index 0000000..d7e8446 --- /dev/null +++ b/tools/bin/bin.sh @@ -0,0 +1,158 @@ +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 +PATH="/sbin/.magisk/busybox:/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:/data/data/com.omarea.vtools/files/toolkit:/data/user/0/com.termux/files/usr/bin" +if [[ -d $(magisk --path 2>/dev/null) ]]; then + PATH="$(magisk --path)/.magisk/busybox:$PATH" +else + 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 + if [[ -f $busybox && -f $busybox2 ]]; 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 + if [[ -f $busybox ]]; then + "$busybox" --list | while read; do + if [[ $REPLY != tar && ! -f $filepath/$REPLY ]]; then + ln -fs "$busybox" "$filepath/$REPLY" + fi + done + fi +else + echo "遺失$bin_path" + exit 1 +fi +export PATH="$filepath:$PATH" +export TZ=Asia/Taipei +TMPDIR="/data/local/tmp" +if [[ $(which busybox) = "" ]]; then + echo "環境變量中沒有找到busybox 請在tools/bin內添加一個\narm64可用的busybox\n或是安裝搞機助手 scene或是Magisk busybox模塊...." + exit 1 +fi +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路徑:$(which busybox)\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 -終端:$(appinfo -o ands -pn "$Open_apps" 2>/dev/null)" +bn=195 +if [[ $(pm path ice.message) = "" ]]; then + echoRgb "未安裝toast 開始安裝" "0" + cp -r "${bin_path%/*}/apk"/*.apk "$TMPDIR" && pm install --user 0 -r "$TMPDIR"/*.apk &>/dev/null && rm -rf "$TMPDIR"/* + [[ $? = 0 ]] && echoRgb "安裝toast成功" "1" || echoRgb "安裝toast失敗" "0" +fi \ No newline at end of file