Краткий ответ
На Google Pixel, работающем в штатном состоянии — с заблокированным загрузчиком, включённой проверенной загрузкой и без root-доступа, — IMEI изменить невозможно. Это касается и заводской Android, и GrapheneOS, и любой другой операционной системы: ни у одной из них нет пути записи к тем данным, из которых модем берёт свой идентификатор.
Операционная система здесь вообще не является определяющим фактором. IMEI принадлежит не Android, а модему — отдельному процессору с собственной прошивкой, собственной памятью и собственным контролем целостности. Замена ОС на устройстве не меняет ни содержимое этой памяти, ни правила, по которым модем её проверяет.
Неизменность IMEI на Pixel обеспечивает проверка целостности внутри подписанной прошивки модема в сочетании с проверенной загрузкой, а не однократно программируемая аппаратная ячейка.
Какое оборудование здесь задействовано
Все Pixel на платформе Google Tensor — от Pixel 6 до Pixel 10 включительно — используют сотовый модем Samsung семейства Shannon (Exynos). Серии Pixel 9 и Pixel 10 работают с модемом Exynos 5400: несмотря на перевод производства самого процессора Tensor G5 на TSMC, радиочасть Google оставил без изменений.
Модем представляет собой отдельный вычислительный блок. GrapheneOS описывает его как изолированный компонент: доступ к памяти разграничен через IOMMU и ограничен внутренней памятью и теми областями, которые драйвер явно предоставляет в совместное использование. Wi-Fi, Bluetooth и спутниковая навигация на разных поколениях реализованы либо внутри этого же модема в отдельных песочницах, либо на отдельных микросхемах.
Всё, что относится к сотовой связи — регистрация в сети, аутентификация, передача IMEI в ходе процедур сигнализации, — происходит внутри модема. Android видит только результат.
Где на Pixel физически хранится IMEI
Публично задокументированная структура хранения на Tensor-устройствах выглядит так.
Раздел devinfo. Небольшой раздел объёмом 8192 байта без файловой системы. Он содержит заголовок и две области тегов. В теговой области PS хранятся строковые значения, записываемые на заводе однократно: серийные номера, MAC-адреса, а также теги imei1 и imei2. Для Tensor-устройств именно devinfo является источником истины — в отличие от платформ Qualcomm, где первичным является EFS.
Энергонезависимая память модема (EFS). Значения IMEI дублируются в NV-элементах модема — в частности CAL.Common.Imei и CAL.Common.Imei_2nd. Это рабочая копия, с которой оперирует радиочасть.
Контрольное значение cpsha. В разделе persist, по пути /mnt/vendor/persist/modem/cpsha, в текстовом виде хранится контрольная сумма SHA-256, вычисленная прошивкой модема на основании значений IMEI.
Логика проверки такова: при запуске модем сверяет IMEI из раздела devinfo с контрольной суммой cpsha. Если значения не совпадают, модем не пытается «исправить» ситуацию и не использует подменённый номер — он сообщает 000000000000000 и на экран по коду *#06#, и в сеть. Устройство просто теряет сотовую связь.
Три уровня, которые удерживают IMEI неизменным
Уровень первый: требование отраслевых стандартов
Спецификация 3GPP TS 22.016 в действующей редакции формулирует требование без оговорок: IMEI должен быть уникальным и не может изменяться после завершения производственного цикла оборудования; он должен противостоять вмешательству — манипуляциям и изменению — любыми средствами, в том числе физическими, электрическими и программными.
Документ GSMA TS.06 повторяет это требование и добавляет к нему собственные технические принципы безопасности IMEI, отдельно отмечая, что стандарты 3GPP требуют непрограммируемости IMEI, но не описывают, как именно производитель должен этого добиться.
Стандарт задаёт результат, а не механизм. Каждый производитель выбирает собственную реализацию, и именно поэтому стойкость защиты различается от платформы к платформе.
Уровень второй: контроль целостности внутри прошивки модема
Это собственно реализация Google. Прошивка модема подписана и загружается под контролем проверенной загрузки. Она вычисляет контрольную сумму SHA-256 по алгоритму и с ключевым материалом, которые остаются внутри самой прошивки, и сверяет с ней содержимое devinfo.
Попытки воспроизвести этот алгоритм извне успехом не увенчались. Даже в случае успеха нет никаких гарантий, что Google будет использовать тот же ключевой материал в последующих версиях прошивки.
Уровень третий: проверенная загрузка и заблокированный загрузчик
Оба задействованных в схеме раздела недоступны для записи в штатном режиме работы. Запись в devinfo требует прямого доступа к блочному устройству, запись в /mnt/vendor/persist — прав суперпользователя. Ни обычное приложение, ни системное приложение без специальных привилегий, ни сама операционная система в нормальном режиме такого доступа не имеют.
На Pixel получение root-доступа требует разблокировки загрузчика. Разблокированный загрузчик отключает проверенную загрузку — тот самый механизм, на котором держится доверие ко всему остальному: к аппаратной аттестации ключей, к StrongBox на базе Titan M2, к защите от отката версий. GrapheneOS прямо квалифицирует устройство с разблокированным загрузчиком как незавершённую установку и не оказывает поддержку в таком состоянии.
Программная защита, а не eFuse
Распространённое представление о том, что IMEI в современных смартфонах «прожжён» в однократно программируемую ячейку (eFuse), для Pixel не подтверждается ни одним публичным источником. Аппаратные предохранители в этих платформах действительно используются — для счётчиков защиты от отката версий, для фиксации состояния загрузчика, для хранения отпечатков ключей корня доверия. Но задокументированный механизм защиты IMEI имеет иную природу: это криптографическая привязка, вычисляемая и проверяемая программно.
Однократно программируемая ячейка физически не поддаётся перезаписи — обойти её невозможно в принципе. Проверку в прошивке обойти сложно, но принципиально возможно, если заставить саму прошивку пересчитать контрольную сумму для новых значений. Именно это и было сделано.
Мы считаем правильным изложить это прямо, а не повторять удобное, но неточное утверждение о физической невозможности. Клиент, принимающий решение относительно собственной модели угроз, должен опираться на точную картину.
Что известно об обходе и чего он стоит
В сообществе исследователей задокументирована процедура, которая на части поколений Pixel позволяла записать произвольный IMEI так, чтобы модем принял его и сообщал в сеть. Схема заключалась в изменении тегов imei1 и imei2 в разделе devinfo, переводе устройства в заводской режим загрузки и отправке модему служебной AT-команды AT+GOOGGETIMEISHA, которая заставляла прошивку пересчитать контрольную сумму уже для новых значений. Полученный результат записывался в файл cpsha.
Состояние этого направления на сегодня выглядит так.
Процедура никогда не работала без root-доступа. Все известные реализации прямо указывают root как обязательное условие. Это означает разблокированный загрузчик и отключённую проверенную загрузку.
Google последовательно закрывает этот путь. Команда AT+GOOGGETIMEISHA изъята из актуальных образов прошивки модема, а автор lexipwn, самого распространённого инструмента, приостановил его разработку. Публичные сообщения в хронологическом порядке:
- 13 декабря 2025 года: участник форума сообщает, что команды в актуальных образах прошивки модема уже нет, и предостерегает от попыток на Pixel 10, так как телефон может перестать включаться.
- 11 мая 2026 года: другой участник сообщает, что процедура не срабатывала на Android 14, 15 и 16, пока он не создал с root-доступом отсутствующий файл хеша cpsha; после этого она сработала.
- 22 сентября 2026 года: третий участник публикует метод для Pixel 10 Pro. С root-доступом запущенный модем заставляют загрузить данные из старого образа прошивки модема Pixel 9, после чего модем перезапускают. Автор проверил метод только на Pixel 10 Pro.
Каждый из описанных методов требует root-доступа. На Pixel с GrapheneOS и заблокированным загрузчиком ни один из них не запустится.
Алгоритм вычисления контрольной суммы не воспроизведён. Без этого обход остаётся зависимым от наличия служебной команды в конкретной версии прошивки, а не от понимания самой схемы.
Pixel с GrapheneOS покупают ради конкретного набора свойств: проверенная загрузка от корня доверия при каждом запуске, аппаратная аттестация, ограничение числа попыток подбора пароля на уровне защищённого элемента, устойчивость к инструментам извлечения данных. Каждое из этих свойств является производным от заблокированного загрузчика. Разблокировка ради смены IMEI обменивает весь этот набор на один изменённый идентификатор — притом что самой выгоды от такой замены, как показано ниже, не существует.
Мы не рекомендуем такую модификацию.
Программная подмена IMEI: что она делает на самом деле
Отдельно существует класс приложений, позиционирующих себя как средства «смены IMEI»: модули для Xposed и LSPosed вроде IMEI Masker, Android Faker, SpoofMyDevice.
Механизм их работы не имеет ничего общего с модемом. LSPosed представляет собой фреймворк перехвата вызовов в среде выполнения ART. Модуль подменяет значение, возвращаемое методами класса TelephonyManager — и только для тех приложений, которые пользователь заранее отметил в настройках модуля. Новое приложение, установленное после этого, получит настоящее значение, пока его не добавят в перечень вручную.
Что остаётся неизменным:
- Код *#06# показывает настоящий IMEI, поскольку это значение поступает от модема, а не от Android.
- Сеть получает настоящий IMEI, поскольку его передаёт модем в ходе процедур сигнализации, не обращаясь к Android вообще.
- Root-доступ остаётся обязательным — со всеми последствиями, описанными выше.
То есть инструмент меняет ответ операционной системы отдельным приложениям и не меняет ничего из того, что видит оператор или кто-либо с доступом к сетевой инфраструктуре.
С Android 10 приложения не имеют доступа к IMEI
Ключевой вопрос относительно любого средства подмены IMEI на уровне ОС: какую именно проблему оно решает?
Начиная с Android 10, сторонним приложениям доступ к неизменяемым аппаратным идентификаторам закрыт полностью. IMEI, MEID, серийный номер, серийный номер SIM-карты и идентификатор абонента защищены разрешением READ_PRIVILEGED_PHONE_STATE. Это разрешение выдаётся только приложениям, подписанным платформенным ключом, и привилегированным системным компонентам. Приложения из Google Play объявить его не могут.
Приложение, рассчитанное на Android 10 или более новую версию и пытающееся прочитать IMEI, получает SecurityException. Устаревшие приложения получают пустое значение или заполнитель. Исключение составляет только текущее приложение для SMS и MMS.
GrapheneOS наследует это ограничение полностью и дополнительно убирает устаревший путь доступа к серийному номеру.
Таким образом, сценарий «приложение следит за мной через IMEI» на современном Pixel не реализуется независимо от наличия каких-либо модулей подмены. Мы не смогли определить ни одной практической задачи, которую программная подмена IMEI решает на устройстве с Android 10 или более новой версией. Издержки же вполне реальны: root, разблокированный загрузчик и потеря проверенной загрузки.
Даже настоящая смена IMEI не скрывает устройство в сети
Предположим на минуту, что IMEI всё-таки изменён на уровне модема. Анонимности в сотовой сети это не даёт.
Проект GrapheneOS формулирует это сжато: IMEI не является единственным аппаратным идентификатором устройства, доступным сотовой сети, и смена одного лишь IMEI скрывает один распространённый идентификатор, а не делает устройство неидентифицируемым.
Что остаётся доступным для сети:
Профиль возможностей устройства. При регистрации устройство передаёт сети подробный перечень собственных радиотехнических возможностей — поддерживаемые диапазоны, комбинации агрегации несущих, категории пропускной способности, алгоритмы безопасности, набор поддерживаемых служб. Исследователи в области безопасности сотовых сетей показали, что этот обмен происходит до аутентификации, без защиты целостности и без проверки со стороны сети, и что его достаточно для определения модели устройства.
Радиочастотный отпечаток. Физические характеристики передатчика — остаточное смещение частоты, нелинейности усилителя, переходные процессы — уникальны для каждого экземпляра оборудования и поддаются классификации. В публикациях, посвящённых идентификации по радиочастотному отпечатку на основании преамбулы PRACH, для 5G-смартфонов приводится точность классификации около 92 % при отношении сигнал/шум 25 дБ. Ни один программно записанный идентификатор на это не влияет.
Идентификаторы абонента. IMSI или SUPI привязаны к SIM-карте, а не к аппарату. Постоянный IMEI с разными SIM-картами и постоянная SIM-карта с изменённым IMEI одинаково образуют заметную корреляцию.
Дополнительный фактор — редкость. Нетипичное поведение само по себе является идентифицирующим признаком. GrapheneOS отдельно отмечает применительно к конфигурациям с ротацией идентификаторов, что они резко выделяют пользователя на фоне остальных абонентов именно в силу своей немногочисленности, и это облегчает отслеживание.
Позиция проекта GrapheneOS
Официальная документация GrapheneOS формулирует позицию в одном предложении: изменить IMEI на серийном устройстве невозможно, и GrapheneOS не может добавить такую возможность, поскольку её не поддерживает аппаратная платформа.
Этот ответ относится к устройству в том состоянии, в котором GrapheneOS предназначена работать: с заблокированным загрузчиком и проверенной загрузкой. Именно в таком состоянии мы передаём устройства клиентам.
Заключение
IMEI на Google Pixel принадлежит модему, а не операционной системе. Его удерживают три вещи: требование стандартов 3GPP и GSMA, проверка целостности SHA-256 внутри подписанной прошивки модема и проверенная загрузка с заблокированным загрузчиком.
Это не аппаратный предохранитель. Обход существует, требует root-доступа и шаг за шагом закрывается производителем; метод для Pixel 10 Pro опубликован 22 сентября 2026 года. Ценой такого обхода является полный отказ от тех свойств безопасности, ради которых и покупают Pixel с GrapheneOS.
Программные средства «подмены IMEI» работают на другом уровне — они меняют ответ Android отдельным приложениям и не меняют ничего из того, что передаётся в сеть. При этом со времён Android 10 сторонние приложения вообще не имеют доступа к IMEI, так что проблемы, которую эти средства якобы решают, на современном устройстве не существует.
Если задача состоит в том, чтобы не быть отслеженным через сотовую сеть, IMEI — не то направление, на котором стоит сосредоточить усилия. Режим полёта полностью отключает приём и передачу сотовой радиочасти, оставляя Wi-Fi доступным, — и это единственный способ исключить отслеживание устройства сетью.
Pixel 9 и Pixel 10 с GrapheneOS. Мы подбираем модель под вашу модель угроз, устанавливаем GrapheneOS, блокируем загрузчик и передаём устройство с полным руководством по эксплуатации. Подробнее о GrapheneOS →
Связанные материалы: Pixel с GrapheneOS · обфускация IMEI на GL.iNet Mudi · Как проверить защищённый телефон.
Купить Pixel с GrapheneOS: модели
Источники
Стандарты
- 3GPP TS 22.016 «International Mobile station Equipment Identities (IMEI)», V19.0.0 (2025-10), раздел 2. — 3gpp.org
- GSMA TS.06 «IMEI Allocation and Approval Process», V27.0 (06.01.2025), раздел 7 «IMEI Security and Integrity Guidelines». — imeidb.gsma.com
Документация GrapheneOS
- GrapheneOS, Usage guide, раздел «Carrier functionality» — утверждение о невозможности смены IMEI на серийном устройстве. — grapheneos.org
- GrapheneOS, FAQ, «Can apps access hardware identifiers?» — grapheneos.org
- GrapheneOS, FAQ, «Is the baseband isolated?» — grapheneos.org
- GrapheneOS, FAQ, «What does GrapheneOS do about cellular tracking, interception and silent SMS?» — grapheneos.org
- GrapheneOS, FAQ, о разблокированном загрузчике как незавершённой установке. — grapheneos.org
- GrapheneOS, публикация от 17.10.2024 о недостаточности смены одного лишь IMEI. — grapheneos.social
Ограничения доступа к идентификаторам в Android
- Android Developers, «Privacy changes in Android 10», раздел о неизменяемых идентификаторах. — developer.android.com
- Android Open Source Project, «Device identifiers». — source.android.com
Механизм хранения IMEI в Tensor-устройствах
- lexipwn — инструмент и техническое описание структуры раздела devinfo, механизма cpsha и команды AT+GOOGGETIMEISHA. — codeberg.org
- Privacy Guides Community, обсуждение «Pixel (Tensor chip) IMEI modification guide», в том числе сообщения от 13 декабря 2025 года (команда изъята из образа прошивки модема), 11 мая 2026 года (отсутствующий файл cpsha) и 22 сентября 2026 года (метод для Pixel 10 Pro). — discuss.privacyguides.net
- rektstarsceosu, «pixel10-imei-repair», метод для Pixel 10 Pro от 22 сентября 2026 года, требует root-доступа, проверен только на Pixel 10 Pro. — github.com
- Pixel-IMEI-Restore — независимое описание той же последовательности действий. — github.com
Аппаратная платформа
- 9to5Google, об использовании модема Exynos 5400 в Tensor G5 и серии Pixel 10. — 9to5google.com
Идентификация устройства в сети помимо IMEI
- Shaik et al., «Show Me Your Attach Request and I’ll Tell You Who You Are: Practical Fingerprinting Attacks in 4G and 5G Mobile Networks» — о передаче перечня возможностей устройства до аутентификации без защиты.
- «Radio Frequency Fingerprint Identification for 5G Mobile Devices Using DCTF and Deep Learning», Sensors. — pmc.ncbi.nlm.nih.gov
Средства программной подмены идентификаторов
- LSPosed — фреймворк перехвата вызовов ART. — github.com
- Репозиторий модулей LSPosed: Android Faker, SpoofMyDevice, IMEI Masker. — modules.lsposed.org