@@ -130,6 +130,7 @@ const char *shshSavePath = "."DIRECTORY_DELIMITER_STR;
130130// iPhone & iPod touch 1st generation models do not use SHSH or APTicket.
131131static struct bbdevice bbdevices [] = {
132132 // Apple Silicon Macs
133+ {"ADP3,1" , 0 , 0 }, // DTK (2020)
133134 {"ADP3,2" , 0 , 0 }, // DTK (2020)
134135 {"iMac21,1" , 0 , 0 }, // iMac (24-inch, M1, 2021)
135136 {"iMac21,2" , 0 , 0 }, // iMac (24-inch, M1, 2021)
@@ -178,7 +179,7 @@ static struct bbdevice bbdevices[] = {
178179 {"Mac16,11" , 0 , 0 }, // Mac mini (M4 Pro, 2024)
179180 {"Mac16,12" , 0 , 0 }, // MacBook Air (13-inch, M4, 2025)
180181 {"Mac16,13" , 0 , 0 }, // MacBook Air (15-inch, M4, 2025)
181-
182+
182183 // Apple Displays
183184 {"AppleDisplay2,1" , 0 , 0 }, // Studio Display
184185
@@ -266,9 +267,9 @@ static struct bbdevice bbdevices[] = {
266267 {"iPhone17,3" , 1652214800 , 4 }, // iPhone 16
267268 {"iPhone17,4" , 1652214800 , 4 }, // iPhone 16 Plus
268269 {"iPhone17,5" , 4 , 0 }, // iPhone 16e
269- {"iPhone18,3" , 694094470 , 12 }, // iPhone 17
270- {"iPhone18,1" , 694094470 , 12 }, // iPhone 17 Pro
271- {"iPhone18,2" , 694094470 , 12 }, // iPhone 17 Pro Max
270+ {"iPhone18,3" , 694094470 , 8 }, // iPhone 17
271+ {"iPhone18,1" , 694094470 , 8 }, // iPhone 17 Pro
272+ {"iPhone18,2" , 694094470 , 8 }, // iPhone 17 Pro Max
272273 {"iPhone18,4" , 4 , 0 }, // iPhone Air
273274
274275 // iPads
@@ -1378,6 +1379,7 @@ int tssrequest(plist_t *tssreqret, char *buildManifest, t_devicevals *devVals, t
13781379 // macOS OTAs don't include SEP definition; hardcode them as having SEP
13791380 int hasSEP = (!(!sep || plist_get_node_type (sep ) != PLIST_DICT )
13801381 || strncasecmp (devVals -> deviceModel , "Mac" , strlen ("Mac" )) == 0
1382+ || strncasecmp (devVals -> deviceModel , "ADP" , strlen ("ADP" )) == 0
13811383 || strncasecmp (devVals -> deviceModel , "iMac" , strlen ("iMac" )) == 0 );
13821384 if (virt ) {
13831385 hasSEP = plist_get_node_type (virt ) == PLIST_STRING ;
@@ -1565,6 +1567,8 @@ int isManifestBufSignedForDevice(char *buildManifestBuffer, t_devicevals *devVal
15651567 || !strcasecmp (devVals -> deviceBoard , "d83ap" ) || !strcasecmp (devVals -> deviceBoard , "d84ap" )
15661568 || !strcasecmp (devVals -> deviceBoard , "d93ap" ) || !strcasecmp (devVals -> deviceBoard , "d94ap" )
15671569 || !strcasecmp (devVals -> deviceBoard , "d47ap" ) || !strcasecmp (devVals -> deviceBoard , "d48ap" )
1570+ || !strcasecmp (devVals -> deviceBoard , "v53ap" ) || !strcasecmp (devVals -> deviceBoard , "v54ap" )
1571+ || !strcasecmp (devVals -> deviceBoard , "v57ap" )
15681572 || !strcasecmp (devVals -> deviceBoard , "n102ap" ) || !strcasecmp (devVals -> deviceBoard , "j71ap" )
15691573 || !strcasecmp (devVals -> deviceBoard , "j72ap" ) || !strcasecmp (devVals -> deviceBoard , "j73ap" )
15701574 || !strcasecmp (devVals -> deviceBoard , "j85ap" ) || !strcasecmp (devVals -> deviceBoard , "j86ap" )
@@ -1585,6 +1589,8 @@ int isManifestBufSignedForDevice(char *buildManifestBuffer, t_devicevals *devVal
15851589 || !strcasecmp (devVals -> deviceModel , "iPhone16,1" ) || !strcasecmp (devVals -> deviceModel , "iPhone16,2" )
15861590 || !strcasecmp (devVals -> deviceModel , "iPhone17,1" ) || !strcasecmp (devVals -> deviceModel , "iPhone17,2" )
15871591 || !strcasecmp (devVals -> deviceModel , "iPhone17,3" ) || !strcasecmp (devVals -> deviceModel , "iPhone17,4" )
1592+ || !strcasecmp (devVals -> deviceModel , "iPhone18,1" ) || !strcasecmp (devVals -> deviceModel , "iPhone18,2" )
1593+ || !strcasecmp (devVals -> deviceModel , "iPhone18,3" )
15881594 || !strcasecmp (devVals -> deviceModel , "iPod7,1" ) || !strcasecmp (devVals -> deviceModel , "iPad4,1" )
15891595 || !strcasecmp (devVals -> deviceModel , "iPad4,2" ) || !strcasecmp (devVals -> deviceModel , "iPad4,3" )
15901596 || !strcasecmp (devVals -> deviceModel , "iPad4,4" ) || !strcasecmp (devVals -> deviceModel , "iPad4,5" )
0 commit comments