adding ipsw downloader and changing gaster
This commit is contained in:
parent
3e385336f5
commit
dd311a7962
4 changed files with 36 additions and 50 deletions
BIN
binaries/Darwin/gaster
Normal file → Executable file
BIN
binaries/Darwin/gaster
Normal file → Executable file
Binary file not shown.
Binary file not shown.
0
binaries/Linux/iBootpatch2
Executable file → Normal file
0
binaries/Linux/iBootpatch2
Executable file → Normal file
78
downr1n.sh
78
downr1n.sh
|
|
@ -469,44 +469,11 @@ if [ "$cmd_not_found" = "1" ]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#echo "[*] Checkin python version, i recommend install a python 10 earlier version to avoid problems"
|
|
||||||
#
|
|
||||||
#if command -v python3.8 &>/dev/null; then
|
|
||||||
# python3="python3.8"
|
|
||||||
#else
|
|
||||||
# python_version=$(python --version 2>&1 | awk '{print $2}')
|
|
||||||
# if [[ $python_version == "3.8" ]]; then
|
|
||||||
# python3="python"
|
|
||||||
# else
|
|
||||||
# echo "Python 3.10 or early is required for this script."
|
|
||||||
# read -p "Python 3.8 is not found. Do you want to install it? (y/n): " install_choice
|
|
||||||
# if [[ $install_choice == "y" ]]; then
|
|
||||||
# if [[ "$os" = "Darwin" ]]; then
|
|
||||||
# brew install python3.8
|
|
||||||
# python3="python3.8"
|
|
||||||
#
|
|
||||||
# elif [ "$os" = "Linux" ]; then
|
|
||||||
#
|
|
||||||
# sudo apt-get install python3.8
|
|
||||||
# python3="python3.8"
|
|
||||||
# else
|
|
||||||
# echo "Unsupported operating system. Please install Python 3.8 manually."
|
|
||||||
# exit 1
|
|
||||||
# fi
|
|
||||||
# echo "Python 3.8 has been installed."
|
|
||||||
# else
|
|
||||||
# echo "Python 3.8 was not installed. Using the default 'python' executable. but pyimg4 has problem with python 11"
|
|
||||||
# python3="python"
|
|
||||||
# fi
|
|
||||||
# fi
|
|
||||||
#fi
|
|
||||||
|
|
||||||
|
|
||||||
# Check for pyimg4
|
# Check for pyimg4
|
||||||
if ! python3 -c 'import pkgutil; exit(not pkgutil.find_loader("fastapi") and not pkgutil.find_loader("aiohttp") and not pkgutil.find_loader("ujson") and not pkgutil.find_loader("wikitextparser") and not pkgutil.find_loader("uvicorn") and not pkgutil.find_loader("pyimg4"))'; then
|
if ! python3 -c 'import pkgutil; exit(not pkgutil.find_loader("lzss") and not pkgutil.find_loader("pyliblzfse") and not pkgutil.find_loader("pyimg4"))'; then
|
||||||
echo '[-] One or more required modules are not installed. Press any key to install them, or press ctrl + c to cancel'
|
echo '[-] One or more required modules are not installed. Press any key to install them, or press ctrl + c to cancel'
|
||||||
read -n 1 -s
|
read -n 1 -s
|
||||||
python3 -m pip install fastapi aiohttp ujson wikitextparser uvicorn pyimg4
|
python3 -m pip install fastapi aiohttp ujson wikitextparser uvicorn pyimg4 pyliblzfse lzss
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check if futurerestore exists
|
# Check if futurerestore exists
|
||||||
|
|
@ -652,9 +619,31 @@ fi
|
||||||
|
|
||||||
|
|
||||||
if [ ! -e "ipsw/*.ipsw" ]; then
|
if [ ! -e "ipsw/*.ipsw" ]; then
|
||||||
echo "[*] Downloading ipsw, it may take few minutes."
|
echo "YOU DON'T HAVE AN IPSW SO WE ARE GONNA DOWNLOAD IT, THE IPSW WILL BE for $deviceid AND the version $version, DO YOU WANT TO CHANGE THE VERSION (YES) OR (NO)"
|
||||||
curl -Lo ipsw/$deviceid-$version.ipsw "$ipswurl" "-#"
|
while true; do
|
||||||
fi
|
read -r answer
|
||||||
|
case "$(echo "$answer" | tr '[:upper:]' '[:lower:]')" in
|
||||||
|
yes)
|
||||||
|
echo "[*] You answered YES. PLEASE WRITE THE VERSION THAT YOU WANT TO DUALBOOT WITH:"
|
||||||
|
read -r version
|
||||||
|
ipswurl=$(curl -sL "https://api.ipsw.me/v4/device/$deviceid?type=ipsw" | "$dir"/jq '.firmwares | .[] | select(.version=="'$version'")' | "$dir"/jq -s '.[0] | .url' --raw-output)
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
no)
|
||||||
|
echo "You answered NO. so using the $version."
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Invalid answer."
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
# downloader by @sasa
|
||||||
|
echo "[*] Downloading ipsw, it may take few minutes."
|
||||||
|
curl -Lo ipsw/$deviceid-$version.ipsw "$ipswurl" "-#"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
cd ipsw/
|
cd ipsw/
|
||||||
ipsw_files=(*.ipsw)
|
ipsw_files=(*.ipsw)
|
||||||
|
|
@ -968,12 +957,14 @@ if [ true ]; then
|
||||||
echo "[*] Finished moving the boot files to work"
|
echo "[*] Finished moving the boot files to work"
|
||||||
sleep 2
|
sleep 2
|
||||||
|
|
||||||
"$dir"/gaster decrypt work/"$(awk "/""${model}""/{x=1}x&&/iBSS[.]/{print;exit}" work/BuildManifest.plist | grep '<string>' |cut -d\> -f2 |cut -d\< -f1 | sed 's/Firmware[/]dfu[/]//')" work/iBSS.dec 2>/dev/null
|
"$dir"/gaster decrypt work/"$(awk "/""${model}""/{x=1}x&&/iBSS[.]/{print;exit}" work/BuildManifest.plist | grep '<string>' |cut -d\> -f2 |cut -d\< -f1 | sed 's/Firmware[/]dfu[/]//')" work/iBSS.dec
|
||||||
|
|
||||||
|
sleep 1
|
||||||
"$dir"/iBoot64Patcher work/iBSS.dec work/iBSS.patched
|
"$dir"/iBoot64Patcher work/iBSS.dec work/iBSS.patched
|
||||||
"$dir"/img4 -i work/iBSS.patched -o work/iBSS.img4 -M work/IM4M -A -T ibss
|
"$dir"/img4 -i work/iBSS.patched -o work/iBSS.img4 -M work/IM4M -A -T ibss
|
||||||
|
|
||||||
|
"$dir"/gaster decrypt work/"$(awk "/""${model}""/{x=1}x&&/iBoot[.]/{print;exit}" work/BuildManifest.plist | grep '<string>' |cut -d\> -f2 |cut -d\< -f1 | sed 's/Firmware[/]all_flash[/]//')" work/iBEC.dec
|
||||||
"$dir"/gaster decrypt work/"$(awk "/""${model}""/{x=1}x&&/iBoot[.]/{print;exit}" work/BuildManifest.plist | grep '<string>' |cut -d\> -f2 |cut -d\< -f1 | sed 's/Firmware[/]all_flash[/]//')" work/iBEC.dec 2>/dev/null
|
sleep 1
|
||||||
|
|
||||||
if [ "$os" = 'Linux' ]; then
|
if [ "$os" = 'Linux' ]; then
|
||||||
sed -i 's/\/\kernelcache/\/\kernelcachd/g' work/iBEC.dec
|
sed -i 's/\/\kernelcache/\/\kernelcachd/g' work/iBEC.dec
|
||||||
|
|
@ -1085,11 +1076,6 @@ if [ true ]; then
|
||||||
echo "[*] Sucess Patching the boot files"
|
echo "[*] Sucess Patching the boot files"
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
echo "[*] please execute wikiproxy.py in order to fix key issue if you have it"
|
|
||||||
|
|
||||||
echo "Please open another terminal and execute: python3 wikiproxy.py, [CLICK ENTER WHEN YOU SUCCESS]"
|
|
||||||
read -n 1 -s
|
|
||||||
|
|
||||||
set +e
|
set +e
|
||||||
|
|
||||||
"$dir"/gaster reset
|
"$dir"/gaster reset
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue