FunSIM - эмулятор SIM на Fun card

Статус: накопление информациии завершено, идёт процесс её осмысления и перехода к программированию

Немного истории

Первый эмулятор на FunCard был написан в 2002 году. В доступных исходниках можно прочитать, что автора зовут Randaz, вероятный адрес электронной почты - randaz@supereva.it (адрес уже не существует). В прилагаемой документации, на итальянском языке, был указан адрес веб-странички http://gstudy.flexynet.org которая так же уже не существует. Ненавязчивый поиск на Google помог найти упоминания следующих страниц - https://gstudy.sdkappa.com/ и http://gstudy.da.ru. Ни одна из них не доступна. К сожалению, больше никаких упоминаний об авторе этой программы, её официального веб-сайта или форума найти не удалось. В лучшем случае удаётся найти разрозненные файлы с описанием работы программы, файлами прошивки для FunCard и неполными исходниками на Си (см. раздел "Файлы").

Соперники

Кому хотим подражать и с кем будем сравнивать: sim-emu, PIC-ador's sim-emu light

Цель пректа

Создать полнофункциональный эмулятор SIM карты на базе FunCard. Добавить управление эмулятором через меню телефона (SIM Application Toolkit, SAT, STK). Улучшить энергопотребление эмулятора за счёт перевода в состояние idle. Удовлетворить запросы пользователей по новым функциональным возможностям эмулятора (счётчик обращений к a3a8, привязка к конкретной базовой станции, автоматическое переключение на номер по умолчанию...).

Нужна помощь

  1. Нарисовать принципиальную схему в удобоваримом виде (с указанием функций выводов каждой из микросхем). Можно порекомендовать общедоступный пакет для рисования и я сам это сделаю.
  2. Дизассемблировать оригинальный hex от funsim и "выкусить" код для следующих функций:
    1. Send() - сделал
    2. Receive() - сделал
    3. extee_startCondition() - сделал
    4. extee_stopCondition() - сделал
    5. extee_sendByte() - сделал
    6. extee_receiveByte() - сделал
    7. a3a8() - сделал

План действий

На сегодняшний день вырисовывается следующий план действий:

  1. Написание аналога функций Send()/Receive() - сделано
  2. Реализация отклика карты на ресет ATR - сделано
  3. Тестирование (карта должна успешно проходить инициализацию и отвечать ATR) - проверено
  4. Реализация PPS - частично
  5. Тестирование (затруднительно - не хватает информации какие сотовые телефоны пользуются PPS, придётся ограничиться тестированием в WinExplorer или Smart Lab) - временно снято с повестки дня
  6. Написание аналога функций extee_startCondition() extee_stopCondition() extee_sendByte() extee_receiveByte() - сделано
  7. Написание функции возврата ATR из внешнего ЕЕПРОМ - переосмыслено и как результат отказался от реализации
  8. Тестирование (должна работать с Вороном на предмет доступа и редактирования адресной книги и SMS сообщений) - жду ваших откликов
  9. Написание аналога функции a3a8 - написано
  10. Тестирование (генеральная проверка функционирования эмулятора - должен полноценно работать хоть в одном телефоне) - пишу тестовые скрипты для Ворона
  11. Написание режима экономии электроэнергии (не забыть про 1892 цикла ожидания до отключения) - переосмыслено, написано отключение компаратора
  12. Написание обработки обращений по прерываниям - переосмыслено, не вижу возможности такое реализовать, специфика схематического решения
  13. Генеральное тестирование. На этом этапе эмулятор должен полноценно работать - на этих выходных
  14. Написание библиотеки для SAT - изучаю литературу
  15. Элементарная реализация SAT - в процессе написания
  16. Тестирование SAT (телефон должен показыват меню и выполнять элементарные функции по взаимодействию с карточкой эмулятора).

Принципиальная схема

Принцип действия

Основные функции

Телефон связывается с SIM картой...

Функции SIM Toolkit

Тулкит нужен для...

Средства разработки и отладки

Сейчас всё компилируется в WinAVR, на предварительном этапе очень пригодился присланный листинг от IDA.

Прошивка FunCard

Для загрузки эмулятора FunSIM в FunCard вам понадобятся:

Взгляните на аскетичный интерфейс FunProm - screenshot.

Файлы

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

  1. funsim_bin.7z - файлы для прошивки микропроцессора, кандидаты на дизассемблирование
  2. funsim_doc.7z - документация по установке, конфигурировнию и спользованию эмулятора
  3. funsim_src.7z - неполный исходный код, отсутствуют многочисленные фрагменты, возможно потеряны все файлы на ассемблере

Ссылки

  1. Блог FunSIM - обо всех изменениях на этой странице можно узнать в первую очередь в этом блоге. Удобно отслеживать все новости этого проекта. Доступные альфы выкладываются на этом сайте. Есть Atom.
  2. Библиотека 3GPP - исчерпывающая документация группы 3GPP по всем аспектам GSM и UMTS
  3. Atmel - производитель микропроцессора и микросхемы памяти, задействованых в Fun card
  4. ImageCraft C for AVR - среда разработки программ на C для AVR микропроцессоров (платная, доступна демоверсия)
  5. WinAVR - бесплатная среда разработки на C для AVR
  6. avr-lib - популярная библиотека
  7. GSM World - основной каталог ресурсов по GSM операторам и сетям (покрытие, сервисы, стандарты, соглашения о роуминге, коды сетей)
  8. sim-emu - популярный эмулятор SIM на микропроцессорах PIC (используются в goldwafer, silver, green card)
  9. PIC-ador sim-emu sim-config sim-emu light - улучшенный эмулятор sim-emu от PIC-ador
  10. IDA Pro - наиболее популярный инструментарий дизассемблирования
  11. FunCard.net - исторический сайт, группа WhoCares создала первую печатную плату на основе AT90S8515 с эмуляцией карточки авторизации доступа к спутниковому телевидению (со светодиодами и возможностью подключения внешнего жидкокристаллического экрана!!!), схемы эмулятора, схемы программатора для параллельного порта, программа-прошивалка (она же редактор ключей при определённых условиях), классическая супер-прошивка FunSoft.
  12. SCard Soft - программы и библиотека спецификаций для работы со смарт картами.

Книжная полка

  1. Документация по микроконтроллеру Atmel AT90S8515 (doc0841.7z)
  2. Коментарии и коррекции опечаток AT90S8515 Rev. B (doc1195.7z)
  3. Коментарии и коррекции опечаток AT90S8515 Rev. C (doc2494.7z)
  4. Документация по микросхеме памяти Atmel AT24C32/64 (doc0336.7z)
  5. Документация по микросхеме памяти Atmel AT24C1024 (doc1471.7z)
  6. Подключение AT24Cxx к микроконтроллеру AT89CX051 (doc0507.7z)
  7. Первые шаги с компилятором ImageCraft C для AVR (doc1630.7z)
  8. Коммандные файлы для компилятора IAR ICCA90 (doc1079.7z)
  9. Техническая спецификация ETSI TS 100 977 V8.7.0 (2002-06) - спецификация Subscriber Identity Module -
    Mobile Equipment (SIM-ME) (ts_100977v080700p.7z)
  10. Техническая спецификация ETSI TS 101 267 V8.13.0 (2003-03) - спецификация SIM Application Toolkit (SAT) (ts_101267v081300p.7z)
  11. Техническая спецификация ISO 7816-1: Physical Charcteristics of Integrated Circuit Cards (ISO7816-1.7z)
  12. Техническая спецификация ISO 7816-2: Dimensions and Location of the Contacts (ISO7816-2.7z)
  13. Техническая спецификация ISO 7816-3: Electronic Signals and Transmission Protocols (ISO7816-3.7z)

Магазины

  1. Магазин "Хочу!" на KievSAT - программаторы и карточки, г. Киев, оплата электронным переводом, доставка по Украине и ближнему зарубежью.
  2. SmartCard - программаторы, карточки, г. Санкт-Петербург, доставка по России и за её пределы, оплата наличными, безналичными, Western Union, WebMoney.
  3. MegaSIM - программаторы, карточки и переходник на 2 SIM карты, г. Москва, оплата наличными, оплата электронным переводом, безналичным банковским переводом, наложенным платежом по почте, наличными в офисе, доставка по Москве, России и СНГ.
  4. Дилеры, магазины в Харькове? Есть кто?
  5. SuperSim.NET - программаторы, ридеры, карточки, кусачки, переходник на 2 SIM карты, г. Новосибирск. Бесплатная доставка по России. Все виды оплаты включая наложенный платёж. Накопительные скидки оптовым покупателям и постоянным клиентам.

Спонсоры проекта

  1. SuperSIM.NET - г. Новосибирск, предоставили FunCard-4
  2. SCard Soft - Украина, предоставлена лицензия на программу Smart Card ToolSet PRO v3.3

Проекту нужны спонсоры. На сегодняшний день мне бы очень пригодились несколько разных Fun card (только Punch!!! ссылка на ресурс SmartCard.SPB или уже обрезанные до размеров симки, у меня кривые руки) и переходник от стандартной сим-карты на мини сим-карту (см. Mini-SIM adapter with socket от CHIPDRIVE, фото). Ваше имя будет указано в секции спонсоров, если есть магазин - будет указан в соответствующей секции. Деньгами помогать пока не надо. Всегда готов выслушать альтернативные предложения, было бы желание помочь проекту.

Файлы упакованы архиватором 7-zip, для прочтения документации может понадобиться Adobe Acrobat Reader


Get free Adobe Acrobat Reader Blogger Get free 7-zip compressor

X