Так уж случилось, чел я подвижный. Мотаюсь из города в город по делам или
просто в гости, а поскольку роуминг у нас по-прежнему грабительский, то расходы
на телефон выходят неслабые. Иной раз забредаешь в такую глушь, что ловят лишь
считанные операторы. Вот и приходится регистрироваться у кучи разных ОПСОСов и
таскать с собой тьму SIM-карт. Сначала я ныкал их под крышкой аккумулятора, но
потом надоело. Стал искать другие пути. Как оказалось, наработок немало.

 

Сокровища гопорынков

Пошарив по местным гоповникам, торгующим сотовыми и всякими прибамбасами к
ним, я наткнулся на несколько решений. Первое, одно из самых примитивных и
древних, это вынос SIM-карт посредством гибкого шлейфа из телефона наружу, в
накладной задник. Сам понимаешь, выглядит это очень коряво – накладка портит
весь дизайн. Есть и второй вариант – более компактный, но суть та же. Берутся
две стандартные SIM-карты и из каждой вырезается острыми ножницами пятачок с
контактами (под ним находится процессор, а остальная часть карты – безмозглый
пластик). Затем пятачки вставляются в специальный переходник, в котором также
смонтирована схема мультиплексор, переключающая карточки либо через меню, либо
посредством включения-выключения телефона (при каждом on/off происходит выбор
новой SIM-карты). Получившаяся конструкция засовывается на место штатной SIM-ки.
Метод хорош, но требует прямых рук, да и не в каждый телефон можно запихать
подобную фиговину. Например, в мой Siemens SK65 она банально не влезет – слишком
узкий и плоский картодержатель. К тому же, максимальное число карт, которые
можно туда запихать, равняется двум.

Самый продвинутый способ – использование Multi SIM. Например, очень
популярна Silver Card. Представляет из себя обычную SIM-ку (только
серебристого цвета и без опознавательных знаков). При вставке в телефон
появляется дополнительное меню, где можно выбрать на какой номер переключиться.
Всего в Silver Card можно забить от десяти до шестнадцати аккаунтов, в
зависимости от версии прошивки. Также существует Green Card, A-SIM
и прочие аналоги. Различие между ними лишь в количестве ячеек, размере записной
книжки и количестве запоминаемых SMS.

 

Как это работает

Чтобы понять, что представляет собой SIM-карта, нужно разобрать
процесс аутентификации в сети. Внутри крошечной симки находится довольно мощный
микроконтроллер, как правило, PIC, со своей микрооперационной системой,
специфическим интерфейсом и набором функций. Функций там немного – чтение и
запись в память, выдача сообщений на экран телефона, манипуляции с определением
номера и, главное, генерация кодов для декодирования голосового потока и
аутентификации в сети. SIM-карта имеет своеобразную файловую систему,
хранящую в себе кучу служебной информации, а также SMS сообщения и коды доступа
в сеть – International Mobile Subscriber Identity (IMSI) и Key for
identification (Ki)
коды.

IMSI и Ki хранятся как в SIM-карте, так и у оператора (это как логин и
пароль). Упрощенно процедура регистрации в сети выглядит следующим образом.
Мобильный телефон передает базовой станции свой IMSI код. В ответ станция
генерирует случайное число и отсылает его в телефон. Телефон передает это число
в SIM-карту, где процессор карты пропускает его и Ki код через хэш алгоритм.
Одновременно это случайное число и Ki, связанный с данным IMSI, проводится через
такой же алгоритм на базовой станции. Затем SIM-карта отдает хэш телефону, а тот
отсылает его на базовую станцию, где происходит сверка с хэшем, полученным при
внутреннем прогоне выданного случайного числа и Ki. Если числа совпадают, значит
– абонент тот самый и происходит регистрация в сети. Хэш сохраняется в памяти
телефона и базовой станции в качестве ключа для кодирования и декодирования
голосового потока. Как видишь, Ki код никогда не покидает ни базовую станцию, ни
SIM-карту и выдрать его оттуда напрямую практически невозможно. Точнее, способ
есть, но связан он с такими дикими затратами денег и времени (осуществляется
посредством спиливания кристалла процессора на спецоборудовании и
непосредственного считывания из памяти в обход CPU контроллера), что вряд ли с
этим кто-то будет заморачиваться.

Для клонирования SIM-карты нужно знать и IMSI, и Ki коды. Что же
делать в таком случае? Ответ прост – брутфорс. Хэш алгоритм не идеален и в
большинстве случаев удается вычислить Ki код по ответам SIM-карты. Проблема в
том, что SIM-карта обладает ограниченным числом обращений к алгоритму генерации
хэша. После их исчерпания карта блокируется намертво, и ты можешь смело смыть ее
в унитаз, а лучше пойти с ней к оператору и, прикинувшись шлангом, сказать, что
симка вдруг сломалась. С вероятностью, близкой к 100%, тебе выдадут новую
(бесплатно или за минимальную плату), а старую заблокируют. Но не все так
страшно, карта позволяет 65536 обращений, а для подбора Ki этого, как правило,
более чем достаточно. Правда, существует одна тонкость, а именно – хэш
алгоритмов на данный момент используется два вида: COMP128v1 и
COMP128v2
. Первый легко поддается взлому, а вот второй пока забрутфорсить не
удалось. Впрочем, если сильно захотелось поиметь в мультисимке карту на
алгоритме СОМР128v2, то можно сделать финт ушами – вырезать из Silver Card пятак
с процессором и вставить ее в блок два в одном, на пару с проблемной.

 

Зачем?

Ну ладно, я путешественник, и эти штуковины мне реально пригодятся. А ты,
например, пользуешься всю жизнь одним и тем же оператором. Есть ли тогда
необходимость в ухищрениях?

Сколько раз мультисимка выручала меня, когда вдруг кончалось бабло на
основном номере; когда не ловил оператор; когда в данной зоне наотрез
отказывался работать GPRS, а срочно требовался доступ в Инет. Да и запустить
залоченный девайс, привезенный из-за бугра, не вмешиваясь в его прошивку,
например, тот же iPhone или какой-нибудь редкий или новомодный телефон, PCMCIA
GSM Modem, выданный на халяву в американском отделении T-mobile… Короче, я
считаю, что MultiSIM это must have для любого гика. Так что вопрос об
изготовлении подобной штуковины должен быть решен однозначно.

 

Что мне за это будет?

Надо сказать, операторы сотовой связи не особо приветствуют такое
использование карт. Понять их можно, они теряют потенциальную прибыль, так как
ты можешь позвонить с другого оператора, когда тебе это выгодней. Но они ничего
и не теряют, так как каждый аккаунт по-прежнему имеет свой баланс и ты вынужден
класть туда бабло, чтобы общаться. Поэтому категорически против и не выступают.
Да и в отличие от банковских смарт-карт, SIM-ка является собственностью
абонента, а значит, ты можешь делать с ней что угодно. Формально использование
MultiSIM – то же самое, что таскание кучи SIM карт в кармане, только
более технологичное. Единственное, что вызовет законное возмущение – это
одновременное использование оригинала и дубликата карты. В этом случае с большой
вероятностью заблокируют аккаунт, и тебе придется идти в абонентский отдел и
получать новую SIM-карту с другим набором IMSI-Ki.

 

Как? Где? Чем?

Итак, ты решился сделать себе мультисим. С чего начать? Надыбать саму
MultiSim карту. Можно поискать на радиорынках, можно – в онлайн магазинах
(набери, в Яндексе «Silver Card» или «Multisim»). Я же свою купил
в каком-то полуподвальном магазине, торгующем подержанными мобилами. Я просто
подошел и спросил, не делают ли они мультисимки. Оказалось, делают. Вот у них и
купил – вышло дороже, чем указано в инете, но дешевле, учитывая стоимость
пересылки до Челябинска. Главное, чтобы мультисимка была с прошивкой SimEmu
не ниже шестой версии
, так как иначе можно нарваться на пустую болванку и
долго искать программатор. Этот вопрос нужно сразу уточнить у продавца. В
среднем, адекватная цена за Multisim Card – 250-500 рублей, в зависимости
от модели.

Допустим, карточку ты достал. Остается распотрошить свои SIM’ки, выдрать из
них заветные коды и забить их в MultiSIM. Можно, конечно, поручить это
мутным дядькам с радиорынка или других подозрительных конторок. За грабление
одной SIM-карты они берут порядка ста рублей. Вроде недорого, однако информация
для доступа к твоему мобильному аккаунту попадет в третьи руки – большое западло!

Поэтому ломать будем сами. Тебе потребуется читалка SIM-карт и софтина
брутфорсер. В качестве софта я использую проверенную временем SimScan, но она
довольно медленная, поэтому лучше заюзать более продвинутый Woron Scan,
вычисляющий Ki код за меньшее число обращений. Читалку можно купить в
интернет-магазине или сделать самому из подручного хлама. Далее будет приведен
мануал по изготовлению читалки в домашних условиях, а также мануал по
пользованию софтиной и инструкция по забиванию кодов в Silver Card.

 

Ваяем Reader

Если ты решил зажмотить бабло и своими руками склепать читалку SIM-карт, то
этот раздел для тебя. В противном случае можешь его смело пропустить.

Схема выполнена печатным монтажом. Рисунок платы и специальную программу ты
найдешь на диске. О том, как
изготавливать высококачественные печатные платы посредством утюга и лазерного
принтера по методу «ЛУТ» написана не одна сотня статей, поэтому на этом я
заострять внимание не буду. На всякий случай на диске ты найдешь подробное
руководство по лазеро-утюжной технологии изготовления плат. А если не хочешь
заморачиваться или у тебя нет лазерного принтера, то можешь аккуратно
перерисовать дорожки на фольгу текстолита посредством водостойкого маркера, а
потом кинуть все это дело в раствор медного купороса или хлорного железа. В
конце концов, можешь склепать схему на куске картона, соединив все проводками –
мой первый reader был именно таким.

Из инструментов тебе потребуется паяльник помельче и дрель с миллиметровым
сверлышком. Также нужен кусочек текстолита 6 на 4 см и ряд радиодеталей,
перечень которых ты найдешь на врезке. Стоят они в сумме около 50 рублей.
Расположение и номинал каждой детали подробно указаны на рисунке. Немного
терпения, прямые руки… и все у тебя получится. При монтаже особое внимание удели
пайке микросхемы, транзисторов и диодов. Все они боятся перегрева, поэтому паяй
краткими касаниями. Место пайки надо хорошенько смазать флюсом (рекомендую
ЛТИ-120) – паяться будет в разы проще и качественней. Аккуратнее на впайке
транзисторов, конденсаторов и диодов. Тут главное не перепутать полярность и
выводы. Поэтому сверяйся с рисунками. Самое сложное это найти разъем для
подключения SIM-карты. Если живешь в крупном городе, разъем можно купить в
радиомагазине. Но вот вдали от цивилизации найти такую штуковину куда сложнее.
Не долго думая, я отрезал задницу от дохлой Nokia 3110 и использовал ее в
качестве разъема.

Есть одна тонкость – постарайся не делать провода от ридера до компа длиннее,
чем полметра (меньше наводок будет). Кстати, можешь наклепать ридеров и сбагрить
их по спекулятивной цене на радиорынке, компенсировав баблом затраченные на
изготовление нервные клетки. В свое время я так и поступил.

 

Let’s go shake, shake!

Итак, ридер ты себе купил/спаял/одолжил. Пора приступать непосредственно к
выковыриванию Ki кода. Подключи читалку к СОМ-порту, засунь в нее SIM-карту и
запускай Woron Scan. В меню «Card Reader» выбери пункт Phoenix Card.
Затем переходи в раздел Card Reader->Settings и выбирай скорость порта 9600 и
номер порта, к которому подключен ридер. Теперь нажми кнопку RST в верхнем меню.
Произойдет сброс карточки, а в логах появится что-то вроде:

The real speed is 9600..
There is a card in Phoenix device:
ATR:
3B 9B 95 80 1F 43 80 31 30 73 32 21 00 53 25 99
01 DD

Если не появилось, значит, проблема либо с симкой, либо с ридером. Но
надеюсь, у тебя все ОК. Можно жать кнопку IMSI и получать в окне логов свой IMSI
код.

Осталось получить Ki код. Для этого нажми кнопочку Ki и START – прога спросит
твой PIN-код (без него нельзя получить доступ к SIM-карте) и начнет подбор
заветного числа. Предупреждаю сразу, подбор долгий. Поиск первого байта кода Ki
может занять больше часа. Первый байт всегда долго ищется, зато остальные
находятся в течение нескольких минут. Примерно на 60000 попытках программа
автоматически прекращает перебор, чтобы избежать блокировки карты по счетчику
обращений. В таком случае повторный запуск брутфорсера не имеет смысла. Если за
60000 запросов ничего не получилось, то не судьба. Эта карта не ломается, такое
бывает.

Ну, а после удачного брута искомые коды будут в логах. Перепиши их
куда-нибудь на бумажку и занычь от посторонних взглядов.

Если Ворон никак не может начать взлом, ссылаясь на какие-то ошибки, можешь
попробовать программу SimScan. У нее не такой продвинутый алгоритм, зато
порой она на раз жрет проблемные симки. Выбрал порт, скорость и нажал кнопку
Find Ki.

Так, данные у нас есть, осталось забить их в MultiSIM карту.

Вставляй ее в телефон и лезь в SIM-меню (например, у Siemens оно появляется в
разделе «Еще»). Там должно появиться Sim-Emu 6.01s (если у тебя A-sim или
что-либо, отличное от Silver’о подобных карт, то строка меню будет зваться
по-другому).

Заходи туда и увидишь главное меню мультисимки. Итак:

Sel.Phone – позволяет выбрать текущий активный номер. Тот, который в данный
момент обозначается плюсиком
Configure – меню настройки мультисимки, о нем чуть ниже
Information – немного служебной инфы, залезь и узнаешь сам
Reset – перезагрузка телефона. Так, чисто по приколу 🙂

Влезай в раздел Configure. Там ты увидишь:

Edit # – редактирование названий слотов, в которые ты будешь загружать свои
сграбленные симки. Можешь написать что-нибудь вроде Beeline или номер телефона
загружаемой симки. Я рекомендую вписать именно номер, так как он будет
отображаться еще и на экране прямо под надписью оператора. Согласись, две
строчки Beeline друг под другом будут выглядеть немного странно.

Config.Pos – непосредственно ввод данных в мультисимку. Выбираешь этот пункт,
телефон запросит PIN2 (по дефолту обычно 1234). Затем спросит номер позиции,
которую надо будет отредактировать. Слоты тут нумеруются с нуля. Если ты
забиваешь первый номер, то начни с «0». После выбора номера тебе предложат
ввести IMSI. Внимательно вбей все 16 знаков и жми «ОК» или что там у тебя в
телефоне. Следом будет ввод Ki – тот еще гимор! Но, думаю, ты не ошибешься.
Опять жми «ОК». Следующим вопросом будет желаемый PUK код. Введи любое число, не
забыв предварительно записать его на бумажку и надежно спрятать. Наконец, ввод
PIN для данного слота. Опять же – задается любой. Если для всех слотов задать
одинаковый PIN, то при включении мобила первым делом загрузит слот под номером
0, а вот если задать разные, то перед включением можно выбрать, какой слот
загрузить, набрав его PIN-код. Удобно, правда?

Config.SMS – позволяет задать число хранимых в памяти SMS. Задается исходя из
возможностей карты.

Config.ADN – тут мы можем задать число ячеек записной книжки симки. Поскольку
у меня все номера в телефоне, то я выставил 1.

PIN2/PUK2 – пункт меню, через который осуществляется смена PIN2 и PUK2 кодов.

Erase.Pos – удалить номер из SIM-карты. Просто вводишь номер удаляемой
позиции (нумерация идет с нуля) и жмешь «OK».

 

Outro

Надеюсь, я смог тебя убедить, что MultiSIM это мегарулез. Мне лично
трудно представить полноценную работу с телефоном без этой архиудобной вещи.
Если возникнут какие-то вопросы, пиши письма или оставляй комментарий в моем
журнале
di-halt.livejournal.com
. Помогу, чем смогу. Удачи, камрад!

 

Детали

Список радиодеталей. Можешь с ним идти на радиорынок или в магазин
радиодеталей. Там тебя поймут :).

Резисторы на 0.125 Вт (можно и на 0.5 Вт, но не желательно) номиналом:
2.2 КилоОм – 1шт.
10 КилоОм – 4шт.
15 КилоОм – 1шт.
22 КилоОм – 1шт.
1 МегаОм – 1 шт.

Конденсаторы керамические:
33 ПикоФарады – 2 шт.
100 НаноФарады – 2 шт.

Конденсаторы электролитические:
470 Микро Фарад 25 вольт – 2шт.

Диоды:
1N4148 или аналог – 3 шт.
Светодиод:
Любой из маленьких. На 3.5 вольта.

Транзисторы КТ3102Д – 1 шт.
Кварц на 3.579545 МГц – 1шт.
Микросхема 74HC04 – 1шт.

Также прикупи стандартную розетку COM разъема – DB-9 или оторви ее от древней
мыши.

 

Виды MultiSIM карт

Silver Card – наиболее распространенная платформа, при этом совершенно
открытая. Она же является самой дешевой и переключается быстрее всех. Лишена
некоторых фишечек, впрочем, думаю, их можно реализовать программно, просто никто
толком не занялся. Построена на контроллере PIC16 и флеш памяти серии 24Lxx.
Прошивку можно беспрепятственно слить или заменить другой. Можно модифицировать
как душе угодно, конечно, если квалификации хватит. Обычно на Silver Card
вкручивается что-либо вроде Sim-Emu v6.1 или аналогов.

Карты Green и Green 2 –модификации Silver карты. Отличаются
количеством встроенной памяти. В классическом Silver’е – 64 килобайта памяти, у
Green – 128, у Green 2 – аж 256. Количество памяти влияет лишь на число
сохраняемых номеров и SMS. Карты Green встречаются крайне редко, так как
практически полностью вытеснены картами Green 2.

Еще существует т.н. Gold Card – но внимания она не достойна, так как,
во-первых, изначально имела слишком мало памяти (16 килобайт), а во-вторых,
прошивку для нее так и не довели до ума. Для прошивки этих карточек нужно
использовать специальный программатор, что осложняет их использование. Впрочем,
если тебе удастся купить карточку с прошивкой не ниже SimEmu v6.1, то все
действия можно будет проводить прямо с телефона через менюшку.

Китайцы как всегда подсуетились и выпустили свой аналог Silver/Green карт
под названием SIMMAX
. Перешить или изменить в них прошивку уже нельзя, но
зато и от пользователя требуется минимум телодвижений – все делается либо с
телефона, либо через специальный reader, обычно идущий в комплекте.

Ну и, конечно, не стоит забывать про нашу российскую разработку – штуку под
кодовым названием А-SIM. От привычных сильверов отличается тем, что для
работы с ней достаточно обычной читалки. Сама карточка чуть тоньше, чем
стандартная Silver Card, а значит, ее проще резать для вставки в
переходник 2in1. Поддерживает функцию «тайной записной книжки». «Тайная книжка»
не дает телефону сохранять в исходящих/входящих списках телефона внесенные в нее
номера и позволяет переключать номера по хоткеям (например, 1111 и вызов –
переключить на первый номер; 2222 и вызов – на второй номер и так далее).
Количество функций постепенно увеличивают, так как разработчики не стоят на
месте. А еще исправлен баг, из-за которого Silver Card и ее аналоги
отказывались работать в некоторых Нокиях. Из недостатков: переключение через
меню стало на один пункт глубже. Некоторые телефоны перезагружаются при смене
номера, причем, это не баг, а фича (разработчики А-SIM считают, что так
корректней). На отдельных мобилах смена номера происходит в разы дольше, чем на
Silver Card. Кроме того, А-SIM – это закрытая платформа,
шаловливые ручонки с дебаггером в нее уже не запустишь.


Полную версию статьи
читай в майском номере
Хакера!

Оставить мнение

Check Also

Espruino Pico. Учимся программировать USB-микроконтроллер на JavaScript и делаем из него токен авторизации

Несмотря на огромное количество устройств на базе микроконтроллеров, созданных на волне ус…