Некоторые операторы злоупотребляют возможностями и в самые не подходящие моменты могут слать PUSH сообщения с кнопками (пример на картинке слева). Например предложение о подписке на какие-то бессмысленные платные услуги. Нажав случайно на «Ок» сами не поймёте что подписались. В итоге будут списываться деньги. Что бы избежать такой ситуации, можно полностью отключить в Android SIM-меню. Но, просто через настройки, к сожалению, этого не сделать… Поэтому ниже инструкция, как обойти ограничение.
Отключаем приложение SIM-Меню без ROOT
- Для начала нужно подключить смартфон к компьютеру при помощи ADB (инструкция как это сделать находится тут (в разделе Установка)). Когда всё правильно сделаете из инструкции на 4PDA и при запуске файла devices.cmd будете видеть, например:
List of devices attached
HT16GV402012 device
то можем приступать ко второму пункту.
adb shell pm disable-user com.android.stk
adb shell am force-stop com.android.stk
Отключаем смартфон, запускаем. Приложение Sim-меню (Sim Toolkit) будет отсутствовать, а в настройках в списке приложений оно будет отключено или вовсе отсутствовать. Так теперь операторы не смогут Вам прислать никакого PUSH или окошка с кнопками для подписки на всякую ерунду.
Взаимодействие SIM-карты с внешним миром (SIM-ME interface, SIM-Toolkit API, JavaCard API)
- "Сим-карта может содержать какую-то програмку, которая появляется в меню моего телефона и может выполняться, если я с бодуна в нее ткну. Меню развлечений какое-то или еще что-то в этом роде. Так вот вопрос. В каких кодах разработана эта програмка, что она спокойно готова выполняться как на смартфоне нокия под SymbianOS, так и под тупой мабилой от мотороллы на совсем другом процессоре, например? Я подозреваю что там какой то аналог RPC — команда с параметами скармливается по шине, и получается результат, нет?"
ОК, углубимся в детали того, что бывает в потрохах SIM-карты и как она взаимодействует с телефоном.
Как я уже говорил, SIM-карта представляет собой мелкий компьютер с ограниченой функциональностью и строго специфицированным внешним интерфейсом. Через этот интерфейс SIM-карту "дергает" телефон, который является для SIM-карты единственным окном во внешний мир.
Интерфейс между телефоном (ME) и SIM-картой действительно представляет собой что-то вроде RPC с ограниченым набором функций. Если быть точным, то в базовом API SIM-карты GSM Phase 1 их (функций) всего 17 штук (раздел 8 стандарта GSM 11.11). Большая их часть отвечает за навигацию по памяти SIM-карты и модификацию значений EF (elementary files). Кроме этого есть еще функция "RUN GSM ALGORITHM" (выполнение пресловутых алгоритмов A3/A8) и функция "SLEEP", которая не используется в GSM Phase 2 🙂
Естественно, что GSM-операторы очень быстро сообразили, что было бы очень неплохо иметь SIM-карты "не такие, как у всех". Это, типа, дает конкурентное преимущество и все такое. Опять же, таким образом можно облегчать глупым пользователям доступ к value-added сервисам. Теперь не прийдется запоминать, что секс по телефону живет по номеру XYZ — в меню телефона будет пункт "секс по телефону", который будет инициировать дозвон "куда надо".
И вот где-то в начале девяностых спецификация на интерфейс между SIM и ME была расширена и туда были добавлены функции, обеспечивающие работу того, что обычно называют термином "SIM Toolkit".
По-просту говоря, SIM Toolkit — это приложение (-ия), работающее на SIM-карте и взаимодействующие с ME по интерфейсу, описанному в GSM 11.14.
Такие приложения могут:
- показывать текст на экране ME
- инициировать посылку SMS/звонок/USSD-посылку на номер телефона, хранящийся на SIM-карте
- пискнуть в динамик
- вести диалог с пользователем ("Are you sure (Y/N)?")
- получать информацию извне с помощью SMS или Cell Broadcast и сохранять ее на SIM-карте
- предоставлять дополнительные меню, отображаемые ME
- модифицировать номера исходящих звонков или запрещать определенные звонки.
Учитывая, что специфицирован и стандартизирован только интерфейс SIM-ME, а сами приложения выполняются внутри SIM-карты, не имеет никакого значения, как именно и на чем они написаны.
Первые SIM-карты с STK содержали "статический" набор приложений, изменить которые можно было только поменяв саму SIM-карту. Понятное дело, что аппетит приходит во время еды, и очень скоро операторы поняли, что возможность менять STK "на ходу" — это наше всё. Но для реализации этой возможности надо было "открыть" процесс написания софта для SIM-карт и дать возможность независимым поставщикам писать приложения для SIM-карт, что явно было не по нраву производителям SIMок.
Решением стало появление SIM-карт, способных выполнять сильно обрезанную JVM (Java Virtual Machine) и создание спецификации JavaCard, позволившее третьим фирмам писать applet-ы для таких SIM-карт. В настоящий момент на рынке уже существует несколько моделей SIM-карт с немерянными объемами свободнй памяти — 32K или 64К, что позволяет разместить на них 2-3-4-5 апплетов.
PS А для окончательного расширения горизонтов сознания поищите в Google-е слова "How to turn SIM card into Web Server" 🙂
У меня было это приложение (SIM Toolkit) с тех пор навсегда и не похоже, чтобы найти способ его удалить.
(Нажмите, чтобы увеличить)
2 ответа
SIM Toolkit отображает список таких вещей, как гороскопы, музыкальные клипы, чаты и т. д. Это зависит от вашего поставщика услуг, и вы не очень многого не получаете, не имея возможности использовать его! Вы не можете удалить приложение, если ваш телефон не укоренен.
Вы можете удалить его, если вы S-OFF /с помощью пользовательского ПЗУ . Просто удалите stk.apk из каталога /system/app
Но, на мой взгляд, оставьте это, не утруждайте себя удалением, потому что это действительно маленькое приложение.
Вы должны это позволить.
Если вы используете панель запуска, такую как APEX, вы можете скрыть значок из ящика приложения.