├── .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 |
--------------------------------------------------------------------------------