Правим симы - добавляем функционала.Что такое симы (seems): это участки памяти, в которых телефон хранит свои настройки (тип меню - строки или значки, разрешены ли пункты меню, какие часы выбраны - аналоговые или цифровые, адрес блютуза, калибровки аккумулятора и сети и т.д.). Считанный из телефона сим сохраняется в виде бинарного файла и может редактироваться любым hex-редактором.
Где они находятся: часть симов находится в ПДС, они отвечают за "железные" настройки телефона (уже упомянутые калибровки, адрес блютуза, сертификаты, история прошивок и т.д.). Вторая часть симов находятся во флексе, они отвечают как правило за "косметические" настройки (вид меню, часов, наличие/отсутствие других опций)
Структура PdsКак с ними работать: seem можно считать/записать программами P2Kseem P2KTools P2Kae moto4lin и т.д.
На примере P2Ktools086:
-Запустить программу, сконнектится с телефоном
-Переключится на seem-редактор
-В окнах num и rec записать адрес сима, например для сима 0032_0001 num=0032 rec=0001
-Нажать "загрузить из телефона"
/В окне редактора будет показано содержимое сима, работа с ним идентична работе в hex-редакторе/
-По окончанию работы с симом нажать "загрузить в телефон"
-Перезагрузить.
Как узнать, что за что отвечает? На данный момент расшифрованы не все значения симов, рекомендуется почитать тут
Таблица Битов 32-го Сима Для Motorola и тут
Seem лаборатория, а также P2KFunc, P2kSeemЧто можно получить, редактируя симы?- увеличить число входящих/исходящих вызово с 10 до 60, изменить вид сообщений (если один человек звонил несколько раз, его можно показывать как один последний звонок или каждый отдельно)
- запретить некоторые пункты меню
- включить датчик освещенности, диктофон, стили видеосьемки, другие изначально отключенные навороты
- выбрать хранение смс на сим или в телефоне, выбирать куда принимать файлы по блютузу.
- изменить параметры экрана (время заставки и её наличие, подсветку)
- изменить некоторые диалоги (смена местами Да/Нет, Экспозиция/Яркость)
- изменить раскладку клавишь (например поменять кнопку местами кнопку фотокамеры и смарт)
- отключить поддержку 2-х линий и значек активной линии
Достаточно подробно по функциям симов расписано в P2Kae, также файл other_features.csv в P2KTools служит для связи симов с вкладкой "скрытые настройки", и все скрытые настройки P2Ktools легко дублируются через правку симов.
Пример: строка KJava;32;1;71;6;Заставка при загрузке JAVA;on;off в other_features.csv расшифровывается так: в закладке Java режима "скрытые настройки" можно включить/выключить "Заставка при загрузке JAVA", в симах это: rec32num1 (seem0032_0001), offset(смещение)71 bit(бит)6.
Смещением называют номер байта относительно начала, offset71 - это байт, расположенный на пересечении 070 строки и 01 столбца (070+01 = 71).
Учимся редактировать симы на примере P2KTools (любой hexeditor) и P2Kae.Разберем практические примеры:
Пример1: Вы узнали (где-либо), что для включения выбора устройства сохранения при приёме данных по Blutooth нужно "в 32-ом симе в оффсете 0АЕ отключить второй бит" (идентично надписи seem32 offset 0AE bit 2 или seem0032_0001 Байт 0AE бит 2)
P2Ktools: Подключаем телефон (см. раздел подключения):
- Запускаем P2Ktools (в строке статуса должно быть написано "connected" и гореть зеленый индикатор, см. (1).
- Переключаем на режим правки симов (Seem редактор) см. (2).
- Теперь нужно указать seem, с которым мы будем работать. Для "32-го сима" или "seem 0032_0001" нужно в окошки num и rec ввести соответственно 0032 и 0001 (rec по умолчанию 0001 и его часто не упоминают, поэтому 32 сим это "num32 rec 0001" а "seem 0034_0002" это уже "num 0034 rec 0002" ). Num и rec вводим в соотв. окнах (3).
- Теперь самое главное: считать выбранный нами seem с телефона (или с комьютера, если он был считан ранее/скачан по интернету. См. (4). При этом помним, что seem - всего-навсего файл нечитаемого (реже читаемого в unicode) формата) и открыть его можно только специализированными редакторами (seem-редактором например).
После того как сим считан, его содержимое отображается в hex и text окнах. Теперь можно сделать его бэкап, сохранив в файл (10). Приступаем к редактированию:
- В окне hex находим строку и столбец по простому принципу 0ХУ=0Х0+0У (0АЕ=0А0+0Е или 025=020+05).
- В нашем случае это байт на пересечении (5) строки с номером (7) и столбца с номером (6).
- Выделяем этот байт (5), его содержимое автоматом отразится в бинарном, десятичном(dec) и шестнацатеричном(hex) форматах (8). Бинарное же представление отразится и в строке (9), где установленная галочка соотв. "1" а снятая - "0" в бинарном представлении.
- Правим, в нашем случае - снимаем галочку с бита №2 (9) К сожалению, править то же значение в bin-dec-hex окнах (8) программа не позволяет.
- И сохраняем в телефон (или файл) (10)
Перезагружаемся, для того чтоб телефон заново считал настройки из сима.
Пример2: P2Kae. Переключить режим сохранения видео с 3gp на мп4 правкой seem 004A_0001. Оффсет 1D1 может иметь значения 03 - запись в .mp4; 01 - запись в .3gp
-Подключаем телефон и запускаем программу, подключаемся (горит зеленый индикатор подключения). В "функциях телефона" выбираем "функции seem" и в них - "Функции seem 4A" . Откроется окно с описанием известных функций этого сима. Обратите внимание: здесь используется три варианта нумерации: побитовая десятичная (бит он начала сима), побайтовая десятичная (байт от начала сима) и побайтовая шестнадцатеричная. Т.к. оффсеты принято давать в шестнадцатеричной форме, то 1D1 будем искать в третьей колонке (Байт16)
-Нажимаем "читать из телефона"(или из файла, если сим был считан ранее в файл)
- При необходимости записываем сим на диск (делаем бэкап на всякий случай)
-Теперь находим строку с номером 1D1 и видим в ней значение (текущее в десятичном/шестнадцатеричном виде).
-Щелкнув на значение в десятичном (Dec) виде, делаем его доступым для редактирования, синхронно меняется и hex-представление. Редактируем 01 в 03 или наоборот. Другие значения не ставьте!, вы же не хотите писать в AVI или mov формате?
-Записываем в телефон...
-И перезагружаем.
Существует возможность править симы без компьютера, напрямую с телефона. Это "опкоды"
Для пересчета оффсета и бита в опкоды можно воспользоватся калькулятором:
OpCode MakerВход в опкоды: кнопка Меню --> 048263*(кнопки нажимать быстро).
Внимание, в некоторых пользоательских монстрах вход в опкоды изменен на меню+0, смотрите описание монстра.
Любая ошибка при работе с опкодами может быть фатальна (опечатка приведет к изменению неизвестно чего, неизвестно где), поэтому рекомендуются прямые руки, хорошее освещение и внимательность к нажатиям.