├── .gitignore ├── README.md ├── files ├── ibec.iPad4,1.img4 ├── ibec.iPad4,2.img4 ├── ibec.iPad4,3.img4 ├── ibec.iPad4,4.img4 ├── ibec.iPad4,5.img4 ├── ibec.iPad4,6.img4 ├── ibec.iPad4,7.img4 ├── ibec.iPad4,8.img4 ├── ibec.iPad4,9.img4 ├── ibec.iPhone6,1.img4 ├── ibec.iPhone6,2.img4 ├── ibss.iPad4,1.img4 ├── ibss.iPad4,2.img4 ├── ibss.iPad4,3.img4 ├── ibss.iPad4,4.img4 ├── ibss.iPad4,5.img4 ├── ibss.iPad4,6.img4 ├── ibss.iPad4,7.img4 ├── ibss.iPad4,8.img4 ├── ibss.iPad4,9.img4 ├── ibss.iPad7,11.img4 ├── ibss.iPad7,12.img4 ├── ibss.iPad7,5.img4 ├── ibss.iPad7,6.img4 ├── ibss.iPhone10,3.img4 ├── ibss.iPhone10,6.img4 ├── ibss.iPhone6,1.img4 ├── ibss.iPhone6,2.img4 ├── ibss.iPhone9,1.img4 ├── ibss.iPhone9,2.img4 ├── ibss.iPhone9,3.img4 ├── ibss.iPhone9,4.img4 ├── ibss.iPod9,1.img4 ├── igetnonce ├── irecovery ├── junk.txt └── lsusb └── main.sh /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .DS_Store 3 | ipwndfu/ 4 | ipwndfu_public/ 5 | *.shsh2 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # checkm8-nonce-setter 2 | A nonce setter for devices compatible with checkm8 3 | 4 | ----------------------------------------- 5 | 6 | iOS version doesn't matter. If your device is compatible with checkm8 + Linus Henze's Signature Check Remover then you can set your nonce and downgrade. This script is macOS only. 7 | 8 | ----------------------------------------- 9 | 10 | Instructions - 11 | 12 | `"./main.sh"` 13 | 14 | Thats it. The script will tell you what to do. 15 | 16 | ----------------------------------------- 17 | 18 | You need git installed for this to work. There shouldn't be any other dependencies 19 | 20 | ----------------------------------------- 21 | 22 | After setting nonce with this, you can futurerestore with the shsh you used during the script. 23 | 24 | ----------------------------------------- 25 | 26 | Keep in mind SEP and Baseband both need to be compatible with the version you are trying to downgrade to. This script doesn't change that, only allows you to set your nonce without being jailbroken. 27 | 28 | ----------------------------------------- 29 | 30 | Basically, this is useless unless some iOS 13 SEP + Baseband is compatible with iOS 12, but someone may find some use for it. 31 | 32 | ----------------------------------------- 33 | 34 | Please don't ask me stupid questions, I'll just ignore you. Please don't use issues to ask stupid questions, just for actual issues thanks. 35 | 36 | ----------------------------------------- 37 | 38 | 39 | Support includes : 40 |
41 |
42 | iPhone 5s 43 | 44 | iPhone 7 45 | 46 | iPhone 7 Plus 47 | 48 | iPhone X 49 | 50 | 51 |
52 | 53 | iPad Air 1 54 | 55 | iPad Mini 2 56 | 57 | iPad 6th Gen (2018) 58 | 59 | iPad Mini 3 60 | 61 | iPad 7th Gen (2019) (Thanks to @RazMashat on twitter for keys =) ) 62 | 63 |
64 | 65 | iPod Touch 7th Gen (2019) 66 | 67 | 68 | SUPPORT COMING FOR: 69 | 70 | 71 | iPad Pro (10.5 Inch) (Need firmware keys) 72 | 73 | iPad Pro (12.9 Inch 2nd Gen) (Need firmware keys) 74 | 75 | 76 | 77 | ----------------------------------------- 78 | 79 | I will expand support when more devices are supported by checkm8 + Linus Henze's Signature Check Remover 80 | 81 | ----------------------------------------- 82 | -------------------------------------------------------------------------------- /files/ibec.iPad4,1.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibec.iPad4,1.img4 -------------------------------------------------------------------------------- /files/ibec.iPad4,2.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibec.iPad4,2.img4 -------------------------------------------------------------------------------- /files/ibec.iPad4,3.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibec.iPad4,3.img4 -------------------------------------------------------------------------------- /files/ibec.iPad4,4.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibec.iPad4,4.img4 -------------------------------------------------------------------------------- /files/ibec.iPad4,5.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibec.iPad4,5.img4 -------------------------------------------------------------------------------- /files/ibec.iPad4,6.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibec.iPad4,6.img4 -------------------------------------------------------------------------------- /files/ibec.iPad4,7.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibec.iPad4,7.img4 -------------------------------------------------------------------------------- /files/ibec.iPad4,8.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibec.iPad4,8.img4 -------------------------------------------------------------------------------- /files/ibec.iPad4,9.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibec.iPad4,9.img4 -------------------------------------------------------------------------------- /files/ibec.iPhone6,1.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibec.iPhone6,1.img4 -------------------------------------------------------------------------------- /files/ibec.iPhone6,2.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibec.iPhone6,2.img4 -------------------------------------------------------------------------------- /files/ibss.iPad4,1.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibss.iPad4,1.img4 -------------------------------------------------------------------------------- /files/ibss.iPad4,2.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibss.iPad4,2.img4 -------------------------------------------------------------------------------- /files/ibss.iPad4,3.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibss.iPad4,3.img4 -------------------------------------------------------------------------------- /files/ibss.iPad4,4.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibss.iPad4,4.img4 -------------------------------------------------------------------------------- /files/ibss.iPad4,5.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibss.iPad4,5.img4 -------------------------------------------------------------------------------- /files/ibss.iPad4,6.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibss.iPad4,6.img4 -------------------------------------------------------------------------------- /files/ibss.iPad4,7.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibss.iPad4,7.img4 -------------------------------------------------------------------------------- /files/ibss.iPad4,8.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibss.iPad4,8.img4 -------------------------------------------------------------------------------- /files/ibss.iPad4,9.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibss.iPad4,9.img4 -------------------------------------------------------------------------------- /files/ibss.iPad7,11.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibss.iPad7,11.img4 -------------------------------------------------------------------------------- /files/ibss.iPad7,12.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibss.iPad7,12.img4 -------------------------------------------------------------------------------- /files/ibss.iPad7,5.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibss.iPad7,5.img4 -------------------------------------------------------------------------------- /files/ibss.iPad7,6.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibss.iPad7,6.img4 -------------------------------------------------------------------------------- /files/ibss.iPhone10,3.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibss.iPhone10,3.img4 -------------------------------------------------------------------------------- /files/ibss.iPhone10,6.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibss.iPhone10,6.img4 -------------------------------------------------------------------------------- /files/ibss.iPhone6,1.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibss.iPhone6,1.img4 -------------------------------------------------------------------------------- /files/ibss.iPhone6,2.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibss.iPhone6,2.img4 -------------------------------------------------------------------------------- /files/ibss.iPhone9,1.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibss.iPhone9,1.img4 -------------------------------------------------------------------------------- /files/ibss.iPhone9,2.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibss.iPhone9,2.img4 -------------------------------------------------------------------------------- /files/ibss.iPhone9,3.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibss.iPhone9,3.img4 -------------------------------------------------------------------------------- /files/ibss.iPhone9,4.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibss.iPhone9,4.img4 -------------------------------------------------------------------------------- /files/ibss.iPod9,1.img4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/ibss.iPod9,1.img4 -------------------------------------------------------------------------------- /files/igetnonce: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/igetnonce -------------------------------------------------------------------------------- /files/irecovery: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/irecovery -------------------------------------------------------------------------------- /files/junk.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MatthewPierson/checkm8-nonce-setter/5e70b1c39f4d82ef8d2d0fa2f3520b1e68a299a0/files/junk.txt -------------------------------------------------------------------------------- /files/lsusb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # lsusb (list USB devices) utility for Mac OS X 3 | # Author: JLH, Sep 2013 4 | # 5 | # Disclaimer: usage info and functionality from lsusb under Linux 6 | 7 | verbose () { system_profiler SPUSBDataType; } 8 | version () { echo "lsusb for Mac OS X 007"; } 9 | help () { 10 | cat >&2 < 1 { print prev_line; } END { ORS = ""; print line; }'` 234 | 235 | # Sort by Location ID. 236 | treedata=`echo "${treedata}" | sort` 237 | 238 | # Now strip off leading Location ID and print to stdout. 239 | for line in $treedata 240 | do 241 | echo "$line" | sed 's/^...........//' 242 | done 243 | 244 | # Restore the IFS 245 | cleanup 246 | 247 | # Not really needed, as cleanup routine does the exit. 248 | exit 0 249 | } 250 | 251 | # Parse options 252 | while getopts ":hvpd:s:Vt" opt; do 253 | case "$opt" in 254 | h) help ; exit 0 ;; # help 255 | v) verbose ; exit 0 ;; # verbose 256 | t) tree ; exit 0 ;; # tree 257 | V) version ; exit 0 ;; # version 258 | d) vid_pid=$OPTARG ;; # filter 259 | s) bus_dev=$OPTARG ;; # filter 260 | p) parens="yes" ;; # formatter 261 | *) echo >&2 "lsusb: invalid option -- '$OPTARG'" ; help ; exit 1 262 | esac 263 | done 264 | 265 | setup 266 | 267 | # Get all sets of lines that contain the "Product ID" string. 268 | # Also include other relevant lines. Here's an entry sample: 269 | # 270 | # BRCM2046 Hub: 271 | # 272 | # Product ID: 0x4500 273 | # Vendor ID: 0x0a5c (Broadcom Corp.) 274 | # Version: 1.00 275 | # Speed: Up to 12 Mb/sec 276 | # Manufacturer: Apple Inc. 277 | # Location ID: 0x06100000 / 2 278 | # Current Available (mA): 500 279 | # Current Required (mA): 0 280 | # 281 | # Each entry will be separated by two '--' lines. We replace them 282 | # with the '#' symbol in case other parameters that contain a dash 283 | # will not be interfered 284 | 285 | devices=`echo "$rawlog" | egrep -B 2 -A 6 "Product ID" | sed 's/^--/#/'` 286 | # Iterate over each entry 287 | for device in $devices 288 | do 289 | parse 290 | if [ $? -eq 0 ]; then 291 | # Print the formatted entry 292 | echo "Bus ""$bus_num"" Device ""$device_num"": ID ""$VID"":""$PID"" ""$manufacturer"" ""$name"" ""$serial_str" 293 | fi 294 | done 295 | 296 | buses=`echo "$rawlog" | egrep -A 7 "Bus:" | sed 's/^--/#/'` 297 | for device in $buses 298 | do 299 | parse 300 | if [ $? -eq 0 ]; then 301 | # Print the formatted entry 302 | echo "Bus ""$bus_num"" Device ""$device_num"": ID ""$VID"":""$PID"" ""$manufacturer"" ""$name"" ""$serial_str" 303 | fi 304 | done 305 | 306 | # Restore the IFS and exit 307 | cleanup 308 | -------------------------------------------------------------------------------- /main.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | rm -rf ipwndfu_public 3 | rm -rf ipwndfu 4 | 5 | clear 6 | echo "*** Matty's Checkm8 APNonce Setter ***" 7 | echo "Do you want to input a generator? (y,n)" 8 | 9 | read input 10 | 11 | if [ $input = y ]; 12 | then 13 | echo "Please enter your desiered generator." 14 | 15 | read generator 16 | 17 | echo "Your generator is $generator" 18 | elif [ $input = n ]; 19 | then 20 | 21 | echo "Please drag and drop the SHSH file that you want to downgrade with into this terminal window then press enter" 22 | 23 | read shsh 24 | 25 | echo "Is $shsh the correct location and file name of your SHSH? (y/n)" 26 | 27 | read pass 28 | 29 | if [ $pass == yes ] || [ $pass == Yes ] || [ $pass == y ] || [ $pass == Y ]; 30 | then 31 | echo "Continuing with given SHSH" 32 | 33 | elif [ $pass == no ] || [ $pass == No ] || [ $pass == n ] || [ $pass == n ]; 34 | then 35 | echo "Please restart script and give the correct location and file name" 36 | echo "Exiting..." 37 | exit 38 | 39 | else 40 | echo "Unrecognised input" 41 | echo "Exiting..." 42 | exit 43 | 44 | fi 45 | 46 | if [ ${shsh: -6} == ".shsh2" ] || [ ${shsh: -5} == ".shsh" ]; 47 | then 48 | echo "File verified as SHSH2 file, continuing" 49 | 50 | else 51 | echo "Please ensure that the file extension is either .shsh or .shsh2 and retry" 52 | echo "Exiting..." 53 | exit 54 | fi 55 | 56 | echo "Getting generator from SHSH" 57 | 58 | getGenerator() { 59 | echo $1 | grep "0x" $shsh | cut -c10-27 60 | } 61 | generator=$(getGenerator $shsh) 62 | 63 | if [ -z "$generator" ] 64 | then 65 | echo "[ERROR] SHSH does not contain a generator!" 66 | echo "[ERROR] Please use a different SHSH with a generator!" 67 | echo "[ERROR] SHSH saved with shsh.host (will show generator) or tsssaver.1conan.com (in noapnonce folder) are acceptable" 68 | echo "Exiting..." 69 | exit 70 | else 71 | echo "Your generator is: $generator" 72 | fi 73 | 74 | else 75 | echo "Input not recognized, Exiting..." 76 | exit 77 | fi 78 | 79 | echo "$generator" 80 | 81 | 82 | files/igetnonce | grep 'n53ap' &> /dev/null 83 | if [ $? == 0 ]; then 84 | echo "Supported Device" 85 | device="iPhone6,2" 86 | echo $device 87 | fi 88 | 89 | files/igetnonce | grep 'n51ap' &> /dev/null 90 | if [ $? == 0 ]; then 91 | echo "Supported Device" 92 | device="iPhone6,1" 93 | echo $device 94 | fi 95 | 96 | files/igetnonce | grep 'j71ap' &> /dev/null 97 | if [ $? == 0 ]; then 98 | echo "Supported Device" 99 | device="iPad4,1" 100 | echo $device 101 | fi 102 | 103 | files/igetnonce | grep 'j72ap' &> /dev/null 104 | if [ $? == 0 ]; then 105 | echo "Supported Device" 106 | device="iPad4,2" 107 | echo $device 108 | fi 109 | 110 | files/igetnonce | grep 'j85ap' &> /dev/null 111 | if [ $? == 0 ]; then 112 | echo "Supported Device" 113 | device="iPad4,4" 114 | echo $device 115 | fi 116 | 117 | files/igetnonce | grep 'j86ap' &> /dev/null 118 | if [ $? == 0 ]; then 119 | echo "Supported Device" 120 | device="iPad4,5" 121 | echo $device 122 | fi 123 | files/igetnonce | grep 'd11ap' &> /dev/null 124 | if [ $? == 0 ]; then 125 | echo "Supported Device" 126 | device="iPhone9,2" 127 | echo $device 128 | fi 129 | files/igetnonce | grep 'd10ap' &> /dev/null 130 | if [ $? == 0 ]; then 131 | echo "Supported Device" 132 | device="iPhone9,1" 133 | echo $device 134 | fi 135 | files/igetnonce | grep 'd101ap' &> /dev/null 136 | if [ $? == 0 ]; then 137 | echo "Supported Device" 138 | device="iPhone9,3" 139 | echo $device 140 | fi 141 | files/igetnonce | grep 'd111ap' &> /dev/null 142 | if [ $? == 0 ]; then 143 | echo "Supported Device" 144 | device="iPhone9,4" 145 | echo $device 146 | fi 147 | files/igetnonce | grep 'd22ap' &> /dev/null 148 | if [ $? == 0 ]; then 149 | echo "Supported Device" 150 | device="iPhone10,3" 151 | echo $device 152 | fi 153 | files/igetnonce | grep 'd221ap' &> /dev/null 154 | if [ $? == 0 ]; then 155 | echo "Supported Device" 156 | device="iPhone10,6" 157 | echo $device 158 | fi 159 | 160 | if [ -z "$device" ] 161 | then 162 | echo "Either unsupported device or no device found." 163 | echo "Exiting.." 164 | exit 165 | else 166 | echo "Supported device found." 167 | fi 168 | 169 | echo "Please connect device in DFU mode. Press enter when ready to continue" 170 | 171 | read randomIrrelevant 172 | 173 | if [ $device == iPhone10,3 ] || [ $device == iPhone10,6 ]; then 174 | git clone https://github.com/MatthewPierson/ipwndfuA11 175 | cd ipwndfuA11 176 | else 177 | git clone https://github.com/MatthewPierson/ipwndfu_public.git 178 | cd ipwndfu_public 179 | fi 180 | echo "Starting ipwndfu" 181 | 182 | string=$(../files/lsusb | grep -c "checkm8") 183 | until [ $string = 1 ]; 184 | do 185 | killall iTunes && killall iTunesHelper 186 | echo "Waiting 10 seconds to allow you to enter DFU mode" 187 | sleep 10 188 | echo "Attempting to get into pwndfu mode" 189 | echo "Please just enter DFU mode again on each reboot" 190 | echo "The script will run ipwndfu again and again until the device is in PWNDFU mode" 191 | ./ipwndfu -p 192 | string=$(../files/lsusb | grep -c "checkm8") 193 | done 194 | 195 | sleep 3 196 | 197 | if [ $device == iPhone10,3 ] || [ $device == iPhone10,6 ]; then 198 | echo "Device is an iPhone X, using akayn's signature check remover" 199 | ./ipwndfu --patch 200 | sleep 1 201 | else 202 | echo "Device is NOT an iPhone X, using Linus's signature check remover" 203 | python2 rmsigchks.py 204 | sleep 1 205 | fi 206 | cd .. 207 | echo "Device is now in PWNDFU mode with signature checks removed (Thanks to Linus Henze & akayn)" 208 | 209 | echo "Entering PWNREC mode" 210 | cd files 211 | 212 | if [ $device == iPhone10,3 ] || [ $device == iPhone10,6 ]; then 213 | ./irecovery -f junk.txt 214 | fi 215 | 216 | ./irecovery -f ibss."$device".img4 217 | 218 | if [ $device = iPhone6,1 ] || [ $device = iPhone6,2 ] || [ $device = iPad4,1 ] || [ $device = iPad4,2 ] || [ $device = iPad4,3 ] || [ $device = iPad4,4 ] || [ $device = iPad4,5 ] || [ $device = iPad4,6 ] || [ $device = iPad4,7 ] || [ $device = iPad4,8 ] || [ $device = iPad4,9 ]; 219 | then 220 | ./irecovery -f ibec."$device".img4 221 | fi 222 | 223 | echo "Entered PWNREC mode" 224 | sleep 4 225 | echo "Current nonce" 226 | ./irecovery -q | grep NONC 227 | echo "Setting nonce to $generator" 228 | ./irecovery -c "setenv com.apple.System.boot-nonce $generator" 229 | sleep 1 230 | ./irecovery -c "saveenv" 231 | sleep 1 232 | ./irecovery -c "setenv auto-boot false" 233 | sleep 1 234 | ./irecovery -c "saveenv" 235 | sleep 1 236 | ./irecovery -c "reset" 237 | echo "Waiting for device to restart into recovery mode" 238 | sleep 7 239 | echo "New nonce" 240 | ./irecovery -q | grep NONC 241 | 242 | echo "We are done!" 243 | echo "" 244 | echo "You can now futurerestore to the firmware that this SHSH is vaild for" 245 | echo "Assuming that signed SEP and Baseband are compatible" 246 | --------------------------------------------------------------------------------