Меняем адрес IMEI на устройствах Google Pixel

Появление этой публикации было частично вызвано намерением Минцифры вводить обязательную государственную регистрацию уникальных идентификаторов мобильных устройств в государственной же «базе». Интернет-ресурс «Может, вам повезет» не видит смысла в обсуждении этой инициативы как таковой, но считает важным разобрать возможность «обойти» подобные базы, и не только их российский «вариант».

Для владельцев устройств Google Pixel с процессорами Tensor (6-е поколение по 10-е) данные базы не представляют особой «угрозы», ведь адрес IMEI, как и прочие уникальные идентификаторы у них исключительно просто меняются. Об одном из таких методов «подмены» адресов сейчас и пойдет речь.

Начнем с основ. Телефоны Pixel хранят всю информацию о «себе» в специальном разделе Device Info (далее – devinfo), который является перезаписываемым и может быть изменен с помощью простого HEX-редактора или специальных программ. В этом разделе можно поменять регион устройства, адреса MAC протоколов WiFi и Bluetooth, а также IMEI. Именно последний нас и интересует.

Важная деталь — изменение адреса IMEI подразумевает дополнительные «телодвижения», в то время как остальные «номера» этого не требуют. Причина в сотовом радио Samsung Shannon, которое используют Google Pixel. Оно хранит крипографический отпечаток номера IMEI (CPSHA) в собственном разделе EFS, и при несовпадении «показаний» выдает шестнадцать нулей вместо записанного в devinfo числа. Этот отпечаток можно поменять только в «заводском» режиме, он же factory mode.

Для модификации раздела devinfo можно использовать графическую версию программы lexipwn – разумеется, для ее использования необходимы права суперпользователя, получение которых мы рассматривать не будем. После того, как вы изменили IMEI, она предложит вам перезагрузиться в тот самый factory mode, из которого можно будет отправлять AT-команды на модем Shannon. Именно через них можно обновить тот самый отпечаток.

После выполнения всех «телодвижений» телефон можно вернуть в обычный режим. Стоит отметить, что раздел devinfo является постоянным — т. е. вы можете избавиться от прав суперпользователя, «прошить» другую ОС, и все равно внесенные вами «правки» будут действовать.