diff --git a/extractor.sh b/extractor.sh index ae0ec09..a4c2a55 100755 --- a/extractor.sh +++ b/extractor.sh @@ -235,6 +235,10 @@ elif [[ $(7z l -ba "$romzip" | grep rawprogram) ]]; then partitionsonzip=$(7z l -ba $romzip | gawk '{ print $NF }' | grep $partition) if [[ ! $partitionsonzip == "" ]]; then 7z e -y $romzip $partitionsonzip 2>/dev/null >> $tmpdir/zip.log + if [[ -L "$partition.img" ]]; then + partitionlink=$(7z l -ba $romzip | gawk '{ print $NF }' | grep `readlink "$partition.img"`) + 7z e -y $romzip $partitionlink -so > "$partition.img" + fi if [[ ! -f "$partition.img" ]]; then if [[ -f "$partition.raw.img" ]]; then mv "$partition.raw.img" "$partition.img" @@ -430,7 +434,7 @@ elif [[ $(7z l -ba "$romzip" | grep payload.bin) ]]; then [[ -f "payload.bin" ]] && rm payload.bin rm -rf "$tmpdir" exit -elif [[ $(7z l -ba "$romzip" | grep ".*.rar\|.*.zip") ]]; then +elif [[ $(7z l -ba "$romzip" | grep ".*.rar\|.*.zip" | tr -s ' ' | cut -d' ' -f4 | awk '$0>300M') ]]; then echo "Image zip firmware detected" mkdir -p $tmpdir/zipfiles 7z e -y "$romzip" -o$tmpdir/zipfiles 2>/dev/null >> $tmpdir/zip.log