Какая плата реально стоит в iPhone

CPID и BDID приходят из bootrom по USB — их нельзя изменить прошивкой и не подделать программно. Достаточно кабеля и любого компьютера: строка читается даже когда iOS не загружена. Расшифровка выполняется удалённо на этом сервере — на компьютер ничего устанавливать не нужно.

без iTunesбез активации телефонаWindows / macOS / Linux таблица libirecoveryпротокол проверки с номером

1. Удалённая проверка

Вставьте строку, которую выдал компьютер (инструкция ниже), и при желании укажите, какая модель заявлена продавцом. Расшифровка и вердикт формируются на сервере.

Можно вставить как полную USB-строку, так и вывод irecovery -q (многострочный, с префиксами 0x) — парсер понимает оба формата.

2. Как получить строку

Windows 10 / 11 — без установки программ

Windows видит iPhone в режиме Recovery/DFU как USB-устройство, а строку bootrom отдаёт в InstanceId. Читается штатным PowerShell — ставить iTunes, Apple Devices или драйверы не нужно.

Вариант А — скачать готовый скрипт get-iphone-id.ps1

Скрипт сам найдёт телефон, прочитает строку, отправит её на сервер и покажет вердикт. Запуск (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, активация
Recovery1281значок кабеляCPID + BDID + серийник есть — этого достаточно для проверки платы
DFU1227чёрныйCPID + BDID есть, правда прямо от bootrom

Ввод в Recovery / DFU (iPhone 8 и новее)

  1. Подключить кабель к компьютеру.
  2. Нажать и отпустить громкость +.
  3. Нажать и отпустить громкость −.
  4. Зажать боковую кнопку ~10 секунд — до потемнения экрана.
  5. Не отпуская боковую, зажать громкость − на 5 секунд.
  6. Отпустить боковую, громкость − держать ещё ~10 секунд.

Экран чёрный = DFU. Значок кабеля = Recovery — тоже годится.

Выход без потери данных: громкость +, громкость −, затем держать боковую до яблока. Не запускайте восстановление прошивки на чужом аппарате: теряются данные клиента и статус «новый неактив».

4. Таблица соответствий

Два независимых источника со сверкой: libirecovery (CPID+BDID → плата, модель) и api.ipsw.me (CPID+BDID+platform → чип). Пары CPID+BDID уникальны, поэтому модель платы определяется однозначно; имя чипа берётся по platform из базы ipsw.me, а не по догадке. Пересборка: python3 tools/build_devices.py --update.

загрузка…

CPIDBDIDЧипКоднеймПлатаProductTypeМодель

5. Что этот метод не проверяет

Заменённый дисплей, камера, АКБ, корпусiOS: Настройки → Основные → Об этом устройстве → Сервисная история
Износ аккумулятора, циклыНастройки → Аккумулятор → Состояние
Блокировка iCloud, активацияобычный режим: ideviceinfo -k ActivationState
IMEI, регион, артикул (A-номер)обычный режим + «Доверять этому компьютеру»
Следы воды, пайки, донорская платавизуальный осмотр, разборка
Краденый IMEIпроверка IMEI по открытым базам

Проверка CPID/BDID — необходимый, но не единственный тест. Идеально «новый» аппарат с родной платой всё равно может иметь заменённый экран.

Правовая оговорка: строка передаётся с компьютера клиента, поэтому сервер может гарантировать корректность расшифровки, но не факт, что строка снята с конкретного физического аппарата. Для спора фиксируйте протокол (номер + время) и снимайте фото/видео подключения.