T8012, also just known as the T2 is the CPU introduced in the second-generation iBridge processor, the processor found on the iMac Pro, and used on all subsequent T2 enabled Mac products.
Enabled Mac Products[edit]
iBridge Product ID | Board ID | Board Minor | Description (Product ID) | checkm8/blackbird confirmed | Model name |
---|---|---|---|---|---|
iBridge2,1 | J137AP | 0x0A | Apple T2 iMacPro1,1 (j137) | Yes | iMac Pro (2017) |
iBridge2,3 | J680AP | 0x0B | Apple T2 MacBookPro15,1 (j680) | Yes | MacBook Pro (15-inch, 2018/2019) |
iBridge2,4 | J132AP | 0x0C | Apple T2 MacBookPro15,2 (j132) | Yes | MacBook Pro (13-inch, 2018/2019, Four Thunderbolt 3 ports) |
iBridge2,5 | J174AP | 0x0E | Apple T2 Macmini8,1 (j174) | Yes | Mac Mini (2018) |
iBridge2,6 | J160AP | 0x0F | Apple T2 MacPro7,1 (j160) | Yes | Mac Pro (2019) |
iBridge2,7 | J780AP | 0x07 | Apple T2 MacBookPro15,3 (j780) | Yes | MacBook Pro (15-inch, 2019) |
iBridge2,8 | J140kAP | 0x17 | Apple T2 MacBookAir8,1 (j140k) | Yes | MacBook Air (Retina, 13-inch, 2018) |
iBridge2,10 | J213AP | 0x18 | Apple T2 MacBookPro15,4 (j213) | Yes | MacBook Pro (13-inch, 2019, Two Thunderbolt 3 ports) |
iBridge2,11 | J230AP | 0x1F | ? | Yes | |
iBridge2,12 | J140aAP | 0x37 | Apple T2 MacBookAir8,2 (j140a) | Yes | MacBook Air (Retina, 13-inch, 2019) |
iBridge2,13 | J214AP | 0x1E | ? | Yes | |
iBridge2,14 | J152fAP | 0x3A | Apple T2 MacBookPro16,1 (j152f) | Yes | MacBook Pro (16-inch, 2019) |
iBridge2,15 | J230kAP | 0x3F | Apple T2 MacBookAir9,1 (j230k) | Yes | MacBook Air (Retina, 13-inch, 2020) |
iBridge2,16 | J214kAP | 0x3E | Apple T2 MacBookPro16,2 (j214k) | Yes | MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) |
iBridge2,19 | J185AP | 0x22 | Apple T2 iMac20,1 (j185) | Yes | iMac (Retina 5K, 27-inch, 2020) |
iBridge2,20 | J185fAP | 0x23 | Apple T2 iMac20,2 (j185f) | Yes | |
iBridge2,21 | J223AP | 0x3B | Apple T2 MacBookPro16,3 (j223) | Yes | MacBook Pro (13-inch, 2020, Two Thunderbolt 3 ports) |
iBridge2,22 | J215AP | 0x38 | Apple T2 MacBookPro16,4 (j215) | Yes | MacBook Pro (16-inch, 2019) |
T2 Recovery USB Device ID[edit]
During the restore process, the T2 presents as a Restore Mode com.apple.recoveryd
service, but uses the USB product ID of 0x8086
(owned by Intel) instead of the iPhone's 0x1290-0x12AF
.[1]
Bootrom Exploits[edit]
The T8012 uses Bootrom version Bootrom_3401.0.0.1.16 which is vulnerable to checkm8. A fork of checkm8 with support for the t2 exists at h0m3us3r and a checkra1n with T2 tutorial is at t8012 blog [Archived 2020-10-13 at the Wayback Machine]. The adaption of checkm8 was performed by the t8012 checkm8 group by brute forcing the various locations from ROM. The copyright string reads SecureROM for t8012si, Copyright 2007-2016, Apple Inc
, for version Bootrom_3401.0.0.1.16.
Similar to iPhones, iPads, and iPods, iBridge firmware bundles come in IPSW form. Build train codenames are appended with "HWBridge" to distinguish them from normal firmwares, and the disk image files inside have labels that are appended with "UniversalBridgeOS." They can only be restored to if the Mac is in DFU mode.
The T2 Secure Enclave Processor (SEP)[edit]
The T2 is based on the A10 silicon design and therefore has a A10 SEP. The A10 SEP is a ARM Cortex-A7 32bit CPU. The T2 Secure Enclave is vulnerable to the same exploit Pangu presented at MOSEC named blackbird.
The T2 SEP is responsible for acting as a secure store for symmetric secrets (tokens) as well as asymmetric credentials that can be generated and wrapped by the SEP. The SEP plays a key role in disk encryption.
Entering DFU Mode[edit]
The T2 models can be restored via a Thunderbolt cable using Apple Configurator.
Desktop Macs[edit]
For example, iMac Pro and Mac mini models from 2018 or later.[3]
- Completely power off the Mac; disconnect it from external power.
- Attach one end of a Thunderbolt cable to the correct Thunderbolt port on the Mac.
- iMac Pro and iMac (2020): The Thunderbolt port that is located next to the Ethernet port.
- Mac mini: The Thunderbolt port that is located next to the HDMI port.
- Mac Pro (2019, desktop): The Thunderbolt port that is located farthest away from the power button.
- Mac Pro (2019, rack): The Thunderbolt port that is located closest to the power button.
- Connect the other end to any Thunderbolt or USB port on the host Mac (the device which will be used for restoring).
- Hold down the power button on the back of the Mac for 3 seconds, while connecting the power cord.
Portable Macs[edit]
For example, MacBook models from 2018 or later.[4]
- Completely power off the Mac; disconnect it from external power.
- Attach one end of a Thunderbolt cable to the Thunderbolt port that is located on the left side, closest to the front.
- Connect the other end to any Thunderbolt or USB port on the host Mac (the device which will be used for restoring).
- Hold down the power button, right Shift key, and left Control and Option keys, for 3 seconds.
Identifying the T2 from DFU[edit]
Once a device is in DFU enumerating the USB device yields the BoardID. Using either Linux's lsusb -v
or macOS's ioreg -p IOUSB
the USB serial attribute will contain the same information as any other Apple A core iBoot device. (http://newosxbook.com/bonus/iBoot.pdf). The ChipID will always be 8012. The value for BDID is the BoardID. Full decoding of the version string can be performed using the code at https://github.com/das-iboot/das-iboot/blob/master/das_iboot/device.py. These values for BDID, CPID, CPRV and ECID are in Hex.
Identifying the T2 from macOS[edit]
This will provide many of the same values as DFU but in Decimal instead of Hex like above:
# ECID in decimal instead of Hex
/usr/libexec/remotectl get-property localbridge UniqueChipID
# Chip ID CPID in decimal (32786 == 0x8012)
/usr/libexec/remotectl get-property localbridge ChipID
# Board Revision CPRV in decimal instead of hex
/usr/libexec/remotectl get-property localbridge BoardRevision
# Board ID (BDID) in decimal instead of hex
/usr/libexec/remotectl get-property localbridge BoardId
# Hardware Model is the name of the Board
/usr/libexec/remotectl get-property localbridge HWModel
# Mac Model String
sysctl -n hw.model
Mac Configuration Utility[edit]

In order to recalibrate components that were replaced on a Mac with the T2 chip, technicians must use two Apple Internal tools. The first one, Apple Service Toolkit (AST), is used to initiate a diagnostic session between the host Mac and the Mac in DFU mode. The second tool, which must be installed on the host Mac, is known as the Mac Configuration Utility (MCU). It communicates with AST to provide board information and initiates diagnostics over-the-air. MCU supports macOS 10.13.2 or later.

iBridge devices can still be managed if there is no firmware present by booting a diagnostic image, which is pushed to the device by MCU after a Blank Board Serializer test is initiated on AST. This test will also assign a serial number to a new board.
During a restore, an Apple logo and progress bar will show on the screen, similar to that of a normal device restore.
References[edit]
- ^ https://github.com/libimobiledevice/libirecovery/blob/master/src/libirecovery.c
- ^ https://dortania.github.io/OpenCore-Post-Install/universal/security/applesecureboot.html
- ^ https://support.apple.com/en-us/guide/apple-configurator-2/apdebea5be51/mac
- ^ https://support.apple.com/en-us/guide/apple-configurator-2/apd0020c3dc2/mac