Какая плата реально стоит в iPhone
CPID и BDID приходят из bootrom по USB — их нельзя изменить прошивкой и не подделать программно. Достаточно кабеля и любого компьютера: строка читается даже когда iOS не загружена. Расшифровка выполняется удалённо на этом сервере — на компьютер ничего устанавливать не нужно.
1. Удалённая проверка
Вставьте строку, которую выдал компьютер (инструкция ниже), и при желании укажите, какая модель заявлена продавцом. Расшифровка и вердикт формируются на сервере.
2. Как получить строку
Windows 10 / 11 — без установки программ
Windows видит iPhone в режиме Recovery/DFU как USB-устройство, а строку bootrom
отдаёт в InstanceId. Читается штатным PowerShell — ставить iTunes,
Apple Devices или драйверы не нужно.
Скрипт сам найдёт телефон, прочитает строку, отправит её на сервер и покажет вердикт. Запуск (PowerShell от имени пользователя, права администратора не нужны):
# в папке, куда скачался файл
powershell -ExecutionPolicy Bypass -File .\get-iphone-id.ps1
# со сверкой ожидаемой модели:
powershell -ExecutionPolicy Bypass -File .\get-iphone-id.ps1 -Expect 17pro
Вариант Б — одна команда в PowerShell
Get-PnpDevice -PresentOnly |
Where-Object InstanceId -match 'VID_05AC&PID_(1227|1281|12A8)' |
Select-Object -ExpandProperty InstanceId
Ожидаемый вывод (строка bootrom — после последнего обратного слэша):
USB\VID_05AC&PID_1281\SDOM:01 CPID:8110 CPRV:11 CPFM:03 SCEP:01 BDID:0E ECID:001A0DEA2690401E IBFL:3D SRNM:[G69GGM70TX]
Вариант В — если вариант Б пуст
Get-CimInstance Win32_PnPEntity |
Where-Object DeviceID -like '*VID_05AC*' |
Select-Object Name, DeviceID | Format-List
Если и здесь нет строки CPID: — почти всегда дело в кабеле
(зарядный вместо data) или в том, что телефон не переведён в Recovery/DFU.
Смотрите раздел «Режимы iPhone».
macOS
system_profiler SPUSBDataType | grep -A 12 -i "apple mobile device"
# или:
ioreg -p IOUSB -w0 -l | grep -i "USB Serial Number"
Нужная строка — значение Serial Number у устройства Apple Mobile Device.
Linux
for d in /sys/bus/usb/devices/*/; do
[ "$(cat "$d/idVendor" 2>/dev/null)" = "05ac" ] || continue
echo "$(basename $d): pid=$(cat $d/idProduct)"
cat "$d/serial"; echo
done
Либо независимое чтение через libirecovery:
sudo apt install -y irecovery libimobiledevice-utils
sudo irecovery -q
3. Режимы iPhone: чем отличаются
| Режим | idProduct | Экран | Что даёт |
|---|---|---|---|
| Обычный (iOS) | 12A8 | рабочий стол | CPID нет. Нужны «Доверять» и ideviceinfo; зато видны модель, IMEI, активация |
| Recovery | 1281 | значок кабеля | CPID + BDID + серийник есть — этого достаточно для проверки платы |
| DFU | 1227 | чёрный | CPID + BDID есть, правда прямо от bootrom |
Ввод в Recovery / DFU (iPhone 8 и новее)
- Подключить кабель к компьютеру.
- Нажать и отпустить громкость +.
- Нажать и отпустить громкость −.
- Зажать боковую кнопку ~10 секунд — до потемнения экрана.
- Не отпуская боковую, зажать громкость − на 5 секунд.
- Отпустить боковую, громкость − держать ещё ~10 секунд.
Экран чёрный = DFU. Значок кабеля = Recovery — тоже годится.
Выход без потери данных: громкость +, громкость −, затем держать боковую до яблока. Не запускайте восстановление прошивки на чужом аппарате: теряются данные клиента и статус «новый неактив».
4. Таблица соответствий
Два независимых источника со сверкой: libirecovery
(CPID+BDID → плата, модель) и api.ipsw.me
(CPID+BDID+platform → чип). Пары CPID+BDID уникальны, поэтому модель платы
определяется однозначно; имя чипа берётся по platform из базы ipsw.me, а не по догадке.
Пересборка: python3 tools/build_devices.py --update.
загрузка…
| CPID | BDID | Чип | Коднейм | Плата | ProductType | Модель |
|---|
5. Что этот метод не проверяет
| Заменённый дисплей, камера, АКБ, корпус | iOS: Настройки → Основные → Об этом устройстве → Сервисная история |
| Износ аккумулятора, циклы | Настройки → Аккумулятор → Состояние |
| Блокировка iCloud, активация | обычный режим: ideviceinfo -k ActivationState |
| IMEI, регион, артикул (A-номер) | обычный режим + «Доверять этому компьютеру» |
| Следы воды, пайки, донорская плата | визуальный осмотр, разборка |
| Краденый IMEI | проверка IMEI по открытым базам |
Проверка CPID/BDID — необходимый, но не единственный тест. Идеально «новый» аппарат с родной платой всё равно может иметь заменённый экран.
Правовая оговорка: строка передаётся с компьютера клиента, поэтому сервер может гарантировать корректность расшифровки, но не факт, что строка снята с конкретного физического аппарата. Для спора фиксируйте протокол (номер + время) и снимайте фото/видео подключения.