From 67c911ce94e2e3da1c32f74f95dc2787a75da9a8 Mon Sep 17 00:00:00 2001 From: Yawasau <229953100a@gmail.com> Date: Thu, 22 Feb 2024 12:22:47 +0800 Subject: [PATCH] bugfix --- backup_settings.conf | 7 ++-- tools/Control.dex | Bin 2900 -> 0 bytes tools/Device_List | 1 + tools/busybox_path | 1 + tools/classes2.dex | Bin 0 -> 130296 bytes tools/tools.sh | 75 +++++++++++++++++++++++++++++++++---------- 更新脚本机型列表.sh | 8 +++++ 7 files changed, 73 insertions(+), 19 deletions(-) delete mode 100644 tools/Control.dex create mode 100644 tools/busybox_path create mode 100644 tools/classes2.dex create mode 100644 更新脚本机型列表.sh diff --git a/backup_settings.conf b/backup_settings.conf index b91a7a8..b93488e 100644 --- a/backup_settings.conf +++ b/backup_settings.conf @@ -11,7 +11,7 @@ default_behavior=0 #自定義位置支持相對位置 #自定義備份目錄輸出位置 (忽略為空將默認腳本路徑中) -Output_path="/sdcard" +Output_path="" #自定義applist.txt位置 list_location="" @@ -22,6 +22,9 @@ update=1 #假設如果存在usb隨身碟是否默認使用隨身碟?(1不詢問默認使用 0每次都進行詢問) USBdefault=0 +#自定義外部掛載點,多個分區請使用|區隔 +mount_point="rannki|0000-1" + #使用者(為空預設0) user=0 @@ -43,6 +46,7 @@ Custom_path=" /storage/emulated/0/Download/ /storage/emulated/0/Music /storage/emulated/0/DCIM/ +#/storage/emulated/0/DCIM/Snapseed /data/adb " @@ -103,4 +107,3 @@ rgb_a=226 #輔色 rgb_b=123 rgb_c=177 - diff --git a/tools/Control.dex b/tools/Control.dex deleted file mode 100644 index 960b05620e6dba9f4420a608a226f930dd128a11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2900 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/dev/null) = "" ]] && echo "Magisk busybox Path does not exist" fi export PATH="$PATH" -backup_version="V15.8.6" #tools_path="${tools_path/'/storage/emulated/'/'/data/media/'}" filepath="/data/backup_tools" busybox="$filepath/busybox" @@ -242,7 +245,7 @@ fi [[ ! -f $filepath/zstd ]] && echoRgb "$filepath缺少zstd" && exit 2 export PATH="$filepath:$PATH" export TZ=Asia/Taipei -export CLASSPATH="$tools_path/classes.dex:$tools_path/Control.dex" +export CLASSPATH="$tools_path/classes.dex:$tools_path/classes2.dex" zstd_sha256sum="55cc57a3d079dd90e74d972c705c4f9389dd00a7175de148e21000eab01f7ed9" tar_sha256sum="3c605b1e9eb8283555225dcad4a3bf1777ae39c5f19a2c8b8943140fd7555814" classesdex_sha256sum="09d0058763157b97d6ea2bf74bd7ec53089a9ddb496f089a159ea0027007bb94" @@ -261,6 +264,7 @@ if [[ $(which toybox | egrep -o "system") != system ]]; then fi LANG="$(getprop "persist.sys.locale")" #下列為自定義函數 +alias getssaid="app_process /system/bin com.xayah.dex.SsaidUtil $@" alias appinfo="app_process /system/bin --nice-name=appinfo han.core.order.AppInfo $@" alias down="app_process /system/bin --nice-name=down han.core.order.Down $@" alias PayloadDumper="app_process /system/bin --nice-name=payload-dumper han.core.order.payload.PayloadDumper $@" @@ -563,8 +567,10 @@ update_script() { if [[ -d $find_tools_path && $find_tools_path != $path_hierarchy/tools ]]; then rm -rf "$find_tools_path" cp -r "$path_hierarchy/tools" "${find_tools_path%/*}" - ts -f "${find_tools_path%/*}/backup_settings.conf" -o "${find_tools_path%/*}/backup_settings.conf" - echo_log "${find_tools_path%/*}/backup_settings.conf翻譯" + if [[ $shell_language != $Script_target_language ]]; then + ts -f "${find_tools_path%/*}/backup_settings.conf" -o "${find_tools_path%/*}/backup_settings.conf" + echo_log "${find_tools_path%/*}/backup_settings.conf翻譯" + fi fi Rename_script if [[ $Output_path != "" ]]; then @@ -639,7 +645,7 @@ if [[ $path_hierarchy != "" && $Script_target_language != "" ]]; then J="$(find "$path_hierarchy" -maxdepth 3 -name "tools.sh" -type f | wc -l)" find "$path_hierarchy" -maxdepth 3 -name "tools.sh" -type f | while read ; do unset shell_language - shell_language="$(grep -o 'shell_language="[^"]*"' "$REPLY" | awk -F'=' '{print $2}' | tr -d '"' | head -1)" + shell_language="$(grep -o 'shell_language="[^"]*"' "$REPLY" 2>/dev/null | awk -F'=' '{print $2}' | tr -d '"' | head -1)" case $shell_language in zh-CN|zh-TW) if [[ $Script_target_language != $shell_language ]]; then @@ -739,7 +745,7 @@ backup_path() { [[ -d $Backup ]] && outshow="使用上層路徑作為備份目錄" || echoRgb "$Backup目錄不存在" "0" fi fi - PU="$(mount | egrep -v "rannki|0000-1" | grep -w "/mnt/media_rw" | awk '{print $3,$5}')" + PU=$(mount | awk '$3 ~ "/mnt/media_rw/[^/]+$" {print $3, $5}' | egrep -v "$mount_point") OTGPATH="$(echo "$PU" | awk '{print $1}')" OTGFormat="$(echo "$PU" | awk '{print $2}')" if [[ -d $OTGPATH ]]; then @@ -796,7 +802,7 @@ Calculate_size() { size () { varr="$(echo "$1" | bc 2>/dev/null)" if [[ $varr != $1 ]]; then - b_size="$(ls -l "$1" | awk '{print $5}')" + b_size="$(ls -l "$1" 2>/dev/null | awk '{print $5}')" else b_size="$1" fi @@ -954,7 +960,7 @@ Backup_data() { ;; esac if [[ -d $data_path ]]; then - unset Filesize m_size k_size get_size + unset Filesize m_size k_size get_size ssaid Filesize="$(du -s "$data_path" | awk '{print $1}')" k_size="$(awk 'BEGIN{printf "%.2f\n", "'$Filesize'"'*1024'/'1024'}')" m_size="$(awk 'BEGIN{printf "%.2f\n", "'$k_size'"/'1024'}')" @@ -963,6 +969,18 @@ Backup_data() { else [[ $(echo "$m_size" | cut -d '.' -f1) -lt 1000 ]] && get_size="${m_size}MB" || get_size="$(awk 'BEGIN{printf "%.2f\n", "'$m_size'"/'1024'}')GB" fi + case $1 in + user) + ssaid="$(getssaid get "$user" "$name2")" + if [[ $ssaid != null && $ssaid != $Ssaid ]]; then + if [[ $Ssaid != "" ]]; then + echo "$(sed "s/$Ssaid/$ssaid/g" "$app_details")">"$app_details" + else + echo "Ssaid=\"$ssaid\"" >>"$app_details" + fi + echo_log "備份ssaid" + fi ;; + esac if [[ $Size != $Filesize ]]; then #停止應用 case $1 in @@ -1057,6 +1075,8 @@ Release_data() { [[ ! -d $FILE_PATH ]] && mkdir -p "$FILE_PATH" fi fi + else + echoRgb "$tar_path名稱似乎有誤" "0" fi ;; esac echoRgb "恢復$FILE_NAME2數據 釋放$(size "$(awk 'BEGIN{printf "%.2f\n", "'$Size'"*'1024'}')")" "3" @@ -1434,10 +1454,16 @@ backup) [[ ! -d $Backup/modules ]] && mkdir -p "$Backup/modules" && echoRgb "$Backup/modules已創建成功\n -請按需要自行放置需要恢復時刷入的模塊在內將自動批量刷入" "1" [[ -d $Backup/Media ]] && touch_shell "Restore3" "$Backup/恢復自定義資料夾.sh" [[ ! -f $Backup/backup_settings.conf ]] && echo "#1開啟0關閉\n\n#是否在每次執行恢復腳本時使用音量鍵詢問如下需求\n#如果是那下面兩項項設置就被忽略,改為音量鍵選擇\nLo=$Lo\n\n#使用者\nuser=\n\n#腳本檢測更新後進行更新?\nupdate=$update\n\n#主色\nrgb_a=$rgb_a\n#輔色\nrgb_b=$rgb_b\nrgb_c=$rgb_c">"$Backup/backup_settings.conf" && echo "$(sed 's/true/1/g ; s/false/0/g' "$Backup/backup_settings.conf")">"$Backup/backup_settings.conf" - if [[ -f $Backup/tools/tools.sh ]]; then - filesha256="$(sha256sum "$tools_path/tools.sh" | cut -d" " -f1)" - filesha256_1="$(sha256sum "$Backup/tools/tools.sh" | cut -d" " -f1)" - [[ $filesha256 != $filesha256_1 ]] && cp -r "$tools_path/tools.sh" "$Backup/tools/tools.sh" + if [[ -d $Backup/tools ]]; then + find "$Backup/tools" -maxdepth 1 -type f | while read; do + Tools_FILE_NAME="${REPLY##*/}" + filesha256="$(sha256sum "$tools_path/$Tools_FILE_NAME" | cut -d" " -f1)" + filesha256_1="$(sha256sum "$REPLY" | cut -d" " -f1)" + if [[ $filesha256 != $filesha256_1 ]]; then + cp -r "$tools_path/$Tools_FILE_NAME" "$REPLY" + echoRgb "更新$REPLY" + fi + done fi filesize="$(du -s "$Backup" | awk '{print $1}')" Quantity=0 @@ -1475,7 +1501,7 @@ backup) if [[ -d $apk_path2 ]]; then echoRgb "備份第$i/$r個應用 剩下$((r - i))個" "3" echoRgb "備份 $name1 \"$name2\"" "2" - unset Backup_folder ChineseName PackageName nobackup No_backupdata result apk_version versionName apk_version2 apk_version3 zsize zmediapath Size data_path userSize dataSize obbSize + unset Backup_folder ChineseName PackageName nobackup No_backupdata result apk_version versionName apk_version2 apk_version3 zsize zmediapath Size data_path userSize dataSize obbSize Ssaid if [[ $name1 = !* || $name1 = !* ]]; then name1="$(echo "$name1" | sed 's/!//g ; s/!//g')" echoRgb "跳過備份所有數據" "0" @@ -1490,7 +1516,7 @@ backup) if [[ -f $app_details ]]; then . "$app_details" &>/dev/null if [[ $PackageName != $name2 ]]; then - unset Backup_folder ChineseName PackageName nobackup No_backupdata result apk_version versionName apk_version2 apk_version3 zsize zmediapath Size data_path userSize dataSize obbSize + unset Backup_folder ChineseName PackageName nobackup No_backupdata result apk_version versionName apk_version2 apk_version3 zsize zmediapath Size data_path userSize dataSize obbSize Ssaid Backup_folder="$Backup/${name1}[${name2}]" app_details="$Backup_folder/app_details" [[ -f $app_details ]] && . "$app_details" &>/dev/null @@ -1555,7 +1581,6 @@ backup) [[ $add_app2 = "" ]] && add_app2="暫無更新" echoRgb "\n -已更新的apk=\"$osn\"\n -已新增的備份=\"$osk\"\n -apk版本號無變化=\"$osj\"\n -下列為版本號已變更的應用\n$update_apk2\n -新增的備份....\n$add_app2" "3" echo "$(sort "$txt2" | sed -e '/^$/d')" >"$txt2" - if [[ $backup_media = true && $backup_mode = "" ]]; then A=1 B="$(echo "$Custom_path" | grep -v "#" | sed -e '/^$/d' | sed -n '$=')" @@ -1746,6 +1771,21 @@ Restore|Restore2) find "$Backup_folder" -maxdepth 1 ! -name "apk.*" -name "*.tar*" -type f 2>/dev/null | sort | while read; do Release_data "$REPLY" done + if [[ $Ssaid != "" ]]; then + if [[ $(getssaid get "$user" "$name2") != $Ssaid ]]; then + getssaid set "$user" "$name2" "$Ssaid" + if [[ $(getssaid get "$user" "$name2") = $Ssaid ]]; then + echoRgb "SSAID恢復成功" "1" + SSAID_Package="$(echo "$name1 \"$name2\"")" + SSAID_Package2="$(echo "$SSAID_Package\n$SSAID_Package2")" + else + echoRgb "SSAID恢復失敗" "0" + SSAID_Package1="$(echo "$name1 \"$name2\"")" + SSAID_Package3="$(echo "$SSAID_Package1\n$SSAID_Package3")" + fi + fi + unset Ssaid + fi Set_service fi else @@ -1761,6 +1801,7 @@ Restore|Restore2) fi if [[ $i = $r && $operate != Restore2 ]]; then endtime 1 "應用恢復" "2" + echoRgb "\n -下列為已設置SSAID應用\n$SSAID_Package2\n -下列為設置SSAID失敗應用....\n$SSAID_Package3" "3" if [[ $media_recovery = true ]]; then starttime1="$(date -u "+%s")" app_details="$Backup_folder2/app_details" @@ -1798,7 +1839,7 @@ Restore|Restore2) rm -rf "$TMPDIR/scriptTMP" "$TXT" Set_screen_pause_seconds off starttime1="$TIME" - echoRgb "$DX完成" && endtime 1 "$DX開始到結束" && echoRgb "如發現應用閃退請重新開機" + echoRgb "$DX完成" && endtime 1 "$DX開始到結束" && [[ $SSAID_Package2 != "" ]] && echoRgb "SSAID恢復後必須重啟套用,如發現應用閃退請重新開機" rm -rf "$TMPDIR"/* } & wait && exit diff --git a/更新脚本机型列表.sh b/更新脚本机型列表.sh new file mode 100644 index 0000000..b9fd531 --- /dev/null +++ b/更新脚本机型列表.sh @@ -0,0 +1,8 @@ +if [ -f "${0%/*}/tools/tools.sh" ]; then + MODDIR="${0%/*}" + operate="Device_List" + . "${0%/*}/tools/tools.sh" | tee "$MODDIR/log.txt" +else + [[ $(echo "${0%/*}" | grep -o 'bin.mt.plus/temp') != "" ]] && echo "你妈没告诉你脚本要解压缩吗?傻逼玩儿" && exit 2 + echo "${0%/*}/tools/tools.sh遗失" +fi \ No newline at end of file