11#! /data/data/com.tool.tree/files/home/bin/bash
22# kakathic
33
4- # lôgic khi giải mã có lưu kích thước ext4 và f2fs không
5-
6-
74set -o pipefail
85# threads=$(nproc)
96show_help () {
162159
163160if [ " $dang_tep " == ' zstd' ] || [ " $dang_tep " == ' gz' ] || [ " $dang_tep " == ' xz' ] || [ " $dang_tep " == ' lz4' ] || [ " $dang_tep " == ' lzma' ]; then
164161 echo -e " $unpack_text_0 (${INPUT##*/ } ) ➠ (raw)...\n"
162+ if [ " $NODECO " == 1 ]; then
163+ file_img=" $PTSD /out/$( echo " ${INPUT##*/ } " | cut -d. -f1) .img"
164+ else
165165 file_img=" $TMP /$( echo " ${INPUT##*/ } " | cut -d. -f1) .img"
166+ fi
166167 zstd --progress -f -d -k " $INPUT " -o " $file_img " & > " $TMP /unzstd.log" || killtree " File extraction error: $INPUT "
167168 # process_count "$size_zstd" "$TMP/unzstd.log"
168169elif [ " $dang_tep " == ' br' ] || [ " $dang_tep " == ' dat' ]; then
169170 tenpjanvung=" $( echo " ${INPUT##*/ } " | cut -d. -f1) "
170171 [ -e " ${INPUT%/* } /$tenpjanvung .transfer.list" ] || killtree " $more_text_5 $tenpjanvung .transfer.list"
171172 echo -e " $unpack_text_0 (${INPUT##*/ } ) ➠ (raw)...\n"
172173 [ " ${INPUT##* .} " == ' br' ] && brotli -f -d " $INPUT " -o " $TMP /$( echo " ${INPUT% .* } " | awk -F/ ' {print $NF}' ) " & > /dev/null
174+ if [ " $NODECO " == 1 ]; then
175+ file_img=" $PTSD /out/$( echo " ${INPUT##*/ } " | cut -d. -f1) .img"
176+ else
173177 file_img=" $TMP /$( echo " ${INPUT##*/ } " | cut -d. -f1) .img"
178+ fi
174179 sdat2img " ${INPUT%/* } /$tenpjanvung .transfer.list" " $TMP /$( echo " ${INPUT% .* } " | awk -F/ ' {print $NF}' ) " " $file_img " & > $TMP /sdat2img_extra.log || killtree " File extraction error: $INPUT "
175180elif [ " $dang_tep " == ' sparse' ]; then
176181 echo -e " $unpack_text_0 (${INPUT##*/ } ) ➠ (raw)...\n"
182+ if [ " $NODECO " == 1 ]; then
183+ file_img=" $PTSD /out/$( echo " ${INPUT##*/ } " | cut -d. -f1) .img"
184+ else
177185 file_img=" $TMP /$( echo " ${INPUT##*/ } " | cut -d. -f1) .img"
186+ fi
178187 simg2img " $INPUT " " $file_img " || killtree " File conversion error: $INPUT "
179188elif [ " $dang_tep " == ' payload' ] || [ -n " $xacnhatpay " ]; then
180189 echo -e " $unpack_text_1 (${INPUT##*/ } ) ➠ ($PVUGBIN )...\n"
181- payload_extract -i " $INPUT " -X " $PVUGBIN " -o " $TMP " & > " $TMP /payload_extract.log" || killtree " Payload unpack error" &
190+ if [ " $NODECO " == 1 ]; then
191+ file_img_tmp=" $PTSD /out"
192+ else
193+ file_img_tmp=" $TMP "
194+ fi
195+ payload_extract -i " $INPUT " -X " $PVUGBIN " -o " $file_img_tmp " & > " $TMP /payload_extract.log" || killtree " Payload unpack error" &
182196 process_payload " $TMP /payload_extract.log"
183- file_img=" $TMP /$PVUGBIN .img"
197+ file_img=" $file_img_tmp /$PVUGBIN .img"
184198elif [ " $dang_tep " == ' super' ]; then
185199 echo -e " $unpack_text_1 (${INPUT##*/ } ) ➠ ($PVUGBIN )...\n"
186- lpunpack -p " $PVUGBIN " " $INPUT " " $TMP " || killtree " Extract $PVUGBIN super error"
187- [ " $TMP /$( echo $PVUGBIN ) .img" == " $TMP /$( echo ${PVUGBIN/ _a/ } ) .img" ] || mv " $TMP /$( echo $PVUGBIN ) .img" " $TMP /$( echo ${PVUGBIN/ _a/ } ) .img"
188- file_img=" $TMP /$( echo ${PVUGBIN/ _a/ } ) .img"
200+ if [ " $NODECO " == 1 ]; then
201+ file_img_tmp=" $PTSD /out"
202+ else
203+ file_img_tmp=" $TMP "
204+ fi
205+ lpunpack -p " $PVUGBIN " " $INPUT " " $file_img_tmp " || killtree " Extract $PVUGBIN super error"
206+ [[ $PVUGBIN == * _a ]] && mv " $file_img_tmp /$PVUGBIN .img" " $file_img_tmp /${PVUGBIN% _a} .img"
207+ file_img=" $file_img_tmp /${PVUGBIN% _a} .img"
189208elif [ " $dang_tep " == ' amlogic' ]; then
190209 echo -e " $unpack_text_1 (${INPUT##*/ } ) ➠ (unpack)...\n"
191210 ten_paion=" $( echo " ${INPUT##*/ } " | cut -d. -f1) "
@@ -365,13 +384,13 @@ else
365384 fi
366385 echo -e " $unpack_text_6 ${file_img##*/ } ($dang_file )\n"
367386 if [ " $NODECO " == 1 ]; then
387+ [ " $file_img " == " $PTSD /out/${file_img##*/ } " ] || mv " $file_img " " $PTSD /out/${file_img##*/ } "
368388 echo -e " $save_text $PTSD /out\n"
369- mv " $file_img " " $PTSD /out/${file_img##*/ } "
370389 fi
371390fi
372391
373392# patch fstab
374- if [ " $AVBIMG " == 1 ]; then
393+ if [ " $AVBIMG " == 1 ] && [ " $NODECO " != 1 ] ; then
375394for rec in $in_name /bin/install-recovery.sh $in_name /etc/init/vendor_flash_recovery.rc $in_name /recovery-from-boot.p $in_name /verity_key; do
376395 if [ -f " $rec " ]; then
377396 echo " Delete file: $rec "
@@ -392,7 +411,7 @@ for fstab in $(find "$in_name" -type f -name "fstab.*" 2>/dev/null); do
392411done
393412fi
394413
395- if [ " $XOAOAT " == 1 ]; then
414+ if [ " $XOAOAT " == 1 ] && [ " $NODECO " != 1 ] ; then
396415{
397416find " $in_name " -type d -name " oat" -print -exec rm -rf {} +
398417 if [ -d " $in_name /system/framework" ]; then
0 commit comments