Найти тему
Electr'IT'chka

Не eSim-ом единым: программная эмуляция сим-карт

Предыдущую публикацию мы закончили на том, что в 2000-е годы у желающих пользоваться несколькими мобильными номерами было два варианта: программная эмуляция сим-карт либо мультисим-карта.

Начнем с программной эмуляции сим-карт.

Этот способ предназначался исключительно для телефонов марки Siemens. Главными достоинствами программно-аппаратной платформы SGold (позже NewSGold) была открытость и дружелюбность к разработчикам.

Несколько российских энтузиастов нашли способ модифицировать прошивку телефонов Siemens. Не просто менять иконки или структуру меню... Пользователи получили прямой доступ к "железу" мобильного устройства, минуя прошивку телефона. Появились приложения, написанные специально для ARM-процессора, работающие аналогично cименсовскому программному обеспечению, но использующие производственный стандарт ELF (Executable and Linking Format). О том, сколь много возможностей для расширения функционала телефона это дало, можно говорить очень долго. Нас же интересует программный патч для эмуляции сим-карт.

Итак, предположим, мы уже извлекли с наших сим-карт IMSI и KI (более подробно об этом процессе - в предыдущей публикации).

1. С помощью специальной программы извлеченные IMSI/KI записываются в заранее выгруженный из телефона определенный блок EEPROM нашего телефона.

EEPROM (англ. Electrically Erasable Programmable Read-Only Memory) — электрически стираемое перепрограммируемое ПЗУ, один из видов энергонезависимой памяти. На этой микросхеме хранятся индивидуальные настройки телефона (IMEI, ключ загрузки, настройки GSM/GPRS, настройки аккумулятора…). Данные в EEPROM имеют блочную структуру.

Типичная микросхема EEPROM
Типичная микросхема EEPROM

2. Модифицированный блок EEPROM записывается обратно в телефон.

3. Наконец, ставится сам патч эмуляции сим-карт. Патч обращается к блоку EEPROM, в котором были записаны KI и IMSI коды, и передает их GSM-модулю.

Да-да, в телефонах Siemens получилось обмануть радиомодуль, чтоб он идентифицировал абонента не по реальной симке, а по информации из внутренней памяти телефона. В подавляющем большинстве мобильных устройств GSM-модуль достаточно независим от микроконтроллера. GSM-модуль самостоятельно, минуя основную прошивку, опрашивает разъем симки. Но в телефонах Siemens вопросами GSM занималась основная программа, что и дало возможность обмануть GSM-модуль.

Разумеется, процедура установки патча была достаточно сложной. Успешно она осуществлялась не на всех телефонах Siemens, многое зависело от версии прошивки и аппаратных ограничений. Тем не менее, патч работал на большинстве моделей, начиная с 45-й серии, и заканчивая 75-й.

До 10 виртуальных номеров + 1 физическая сим-карта. Неплохо в "додвухсимочную" эпоху, не так ли?

В телефоне появлялся соответствующий пункт меню, где можно было переключаться между "сим-картами"
В телефоне появлялся соответствующий пункт меню, где можно было переключаться между "сим-картами"

Увы, портировать данное богатство на телефоны других марок не получилось. Для подобных манипуляций нужна соответствующая документация от производителя. На Siemens`ах смогли слепить программный сим-эмулятор лишь потому, что был доступ к детальной информации по работе компонентов и узлов аппарата. Сейчас производители коммуникаторов подобную информацию скрывают под семью печатями.

На некоторое время выходом из ситуации стали мультисим-карты. О них - в заключительной части статьи.

Благодарю за внимание)))

Понравилось? Жмите палец вверх и подписывайтесь!