Smelter v9.65

Siemens Menu/Eeprom/Langpack/picTurEs/Ringtones explorer

Исследователь Меню, Еепромов, Ленгпака, Картинок и Мелодий

English version here

Эта программа предназначена для исследования фуллфлеша телефона. Она вытаскивает из фф информацию о еепромах, ленгпаке, меню, картинках, мелодиях, файлах и многом другом, после чего показывает их в удобном виде. Программа заточена под 55-ю серию, но, по идее, должна грамотно работать и с фуллфлешами других телефонов. Изначально предназначена для флешекопателей, но может быть полезна и неискушенным пользователям. Остановимся подробнее на пунктах меню программы.

Информация

В этом текстовом поле показывается всевозможная информация, которую системе удалось вытащить из фф. По мере работы с программой вся вновь найденная информация добавляется в это поле.

Списки

В этом меню отображаются все списки, которая способна построить программа. Списки, находящиеся в первой группе, не требуют никакой дополнительной информации (только фф) и называются «главными». Открыть их все сразу можно с помощью пункта «Открыть главные списки». Создание остальных списков требует ввода дополнительной информации. Списки, которые уже открыты для данного фф, выделяются галочкой и залипанием соответствующей кнопки на тулбаре. При нажатии правой кнопки мыши происходит всплывание контекстного меню. Если же при этом удерживать Shift, то всплывет неконтекстное меню (меню «Список»).

Список «EEPROM»

Ох уж эти еепромы ! С них то все и начиналось ( SiemPROM ). В этом списке показываются следующие колонки: номер блока, описание, адрес EIT-таблицы, версия, смещение блока в фф, размер, признак наличия дополнительной информации (*) и признак удаления блока (-). Дополнительная информация доступна для следующих блоков EEPROM:

Остановимся подробнее на некоторых блоках:

71-й блок. Принцип работы с 71-м блоком – такой же как в Siemens Service Profiler. Расшифровка бит берется из секции «71» ini-файла, которая полностью дублирует ini-файл от SSP.

Таймаут Java-соединения. Если вы пользуетесь Java-GPRS приложениями типа ICQ для телефона (например uMessanger), то если не пользоваться телефоном (не нажимать кнопки определенное время) - происходит таймаут и отключение от GPRS. Для увеличения этого таймаута и служит этот пункт. Просто примените с помощью V_Klay тот патч, который вам предложит программа. Работает на C55, S55, M55, SL55.

Эти и многие другие функции (как и во многих других списках) доступны по правому клику. Блоки можно загружать/выгружать на диск как по одиночке, так и все скопом. При работе с диском обращение всегда происходит к директорию \EEPROM того директория, где лежит фф. Чекбокс «Показывать удаленные» влияет на то, будут ли отображаться в списке удаленные блоки. Бывает полезен для поиска своих старых блоков, откат к которым в некоторых случаях может помочь если телефон начал глючить. Пункты всплывающего меню, которые приводят к изменению окон «Информация» и «Патч», выделены тиком.

В подменю «Резервная копия» можно сохранить мап-файл, лог-файл и параметры аккумулятора. Здесь же можно посмотреть и IMEI. Полученными файлами нужно пользоваться с большой осторожностью, поскольку эти файлы имеют большое влияние на нормальную работу телефона.

Список «Ленгпак»

Тут все просто: ленгпак – он и есть ленгпак. В этом списке показываются языковые сообщения, найденные программой в фф, с указанием языка, номера и местоположения в фф. В менюшке, доступной по правому клику, можно переключиться на желаемый язык либо выбрать показ всех языков. Под фиктивным языком 99 показываются текстовые строки, лежащие вне ленгпака, то есть те строки, которые жестко зашиты в прошивку.

Строки ленгпака можно редактировать, при этом будет создан соответствующий патч. Все изменения пишутся на старое место, поэтому действует следующее правило: «Размер запакованного нового сообщения должен не превышать размер запакованного старого», иначе программа не воспримет новое сообщение. Если программа пишет «LP-error» - это значит, что вы используете символы, не входящие в словарь ленгпака (например, пытаетесь ввести английские символы в русские сообщения – в принципе это возможно, но далеко не всегда).

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

  1. Открыть список «Ленгпак»
  2. Ленгпак – Сохранить область ленгпака. Полученный файл переименовать и спрятать подальше, это наш бекап.
  3. Ленгпак – Сохранить ленгпак.
  4. Полученный файл редактируем любым юникод-редактором (например MS Word).
  5. Ленгпак – Загрузить ленгпак.
  6. Если не было сообщения о переполнении ленгпака идем в окно Информация и смотрим не были ли обрезаны какие то сообщения.
  7. Если эти сообщения не критичны, то их обрезку можно проигнорировать. Если было переполнение ленгпака – идем на пункт 4.
  8. Ленгпак – Сохранить область ленгпака.
  9. Переключиться в телефоне на язык «Автоматический»
  10. Открываем полученный файл в V_Klay – Флешер, адрес и размер должны выставиться автоматически.
  11. Заливаем этот файл в телефон. Радуемся.
  12. Если не радуемся, а огорчаемся – заливаем бекап из пункта 2.

- Смелтер пакует ленгпак процентов на 10 хуже, чем Сименс. Точнее – пакует идеально, а вот словари упаковки строит не очень оптимальные.
- На x65 точный размер ленпака должен не превышать FF240 = 1045056 байт. Пока, во всяком случае.

Список «Меню»

В этом списке будут отображены менюшки, найденные программой в фф. Наибольший интерес представляет содержимое колонки “Entry”. В ней можно увидеть точки входа, необходимые для патчей на изменение функциональности софт-кнопок телефона. Например, допустим, у нас есть такой патч:

;S55v20 - Изменение функции "Стрелка влево"
32499C: DA7106B8 DA74240C ; Explorer

Что в нем происходит ? Вызов функции, по умолчанию сидящей на левой стрелке ( GPRS-Info ), заменяется на вызов функции “Explorer”. А если мы хотим не Explorer, а, например, Диктофон ? Для этого надо узнать точку входа на элемент Диктофон. На S55v20 он находится в меню 14.6, точка входа равна 67AF82. Переставив местами последний и предпоследний байт и дописав спереди DA мы получим следующий патч:

;S55v20 - Изменение функции "Стрелка влево"
32499C: DA7106B8 DA6782AF ; Диктофон

Это просто, не правда ли ? Язык названия элементов меню меняется одновременно с работой с ленгпаком, поэтому, для того чтобы пункты назывались не String #000, а по-человечески – просто откройте вкладку Ленгпак, выберите правым кликом желаемый язык и вернитесь к просмотру системы меню. Колонки Handle и Items указывают на начало заголовка меню и таблицы элементов, соответственно, и представляют интерес только для продвинутых флешекопателей. Эти же колонки для элементов подменю содержат номера сообщения ленгпака обычным и увеличенным шрифтом.

Список «Картинки»

В этом списке показываются все лежащие в фф картинки. Содержимое колонок: номер PIT-таблицы, номер картинки в текущей PIT-таблице, номер картинки при сквозной нумерации, разрешение по X, разрешение по Y, бит на пиксель, адрес картинки, ее размер, декомпрессованый размер и адрес описания картинки. Декомпресованный размер указывает на то, сколько бы занимала картинка, не будь она сжата, и доступен, соответственно, только для сжатых картинок. Загрузка картинок в фф с диска не возможна, а выгрузка происходит в каталог \BMP каталога фуллфлеша. В правом верхнем углу можно увидеть саму картинку и ее краткие характеристики. Пункт «Показать картинку» сохраняет ее на диск и запускает зарегистрированный в системе графический редактор. Если программа находит дополнительные картинки (вне PIT-области) то она показывает их под виртуальной PIT-таблицей №9.

Список «Мелодии»

Содержимое колонок этого списка: номер мелодии, тип мелодии, время звучания в секундах, код типа мелодии, смещение, размер, адрес описания мелодии и, собственно, сама мелодия. Текстовое представление мелодии – это совокупность нот, разделенных пробелом. Каждая нота описывается так частота:длительность, в герцах и милисекундах, соответственно. Мелодии корректно воспроизводятся только под Win2000 и WinXP. Под 98 и Me теоретически динамик должен просто как-то невнятно попискивать. Не знаю, не проверял. Для прослушивания мелодий нужно включить «Автовоспроизведение» с помощью правой кнопки мыши и перемещаться по списку. Или выключить «Автовоспроизведение» и прослушивать каждую мелодию индивидуально. Загрузка/выгрузка мелодий происходит в каталог \Ringtone каталога фуллфлеша. Монофония сохраняется в формате srt. Показываются все мелодии, кроме мелодий типа 01. Полифония (wav,mid) воспроизводится следующим образом: мелодия сохраняется на диск и запускается стандартное средство системы для воспроизведения таких файлов. Монофония воспроизводится через системный динамик.

Список «Файлы»

В этом списке показывается содержимое флекс-мемори телефона (если она, конечно, существует). Эта функция работает только на x55 и более новых сериях. На 45-й серии формат файловой системы несколько другой. Под размером директория понимается суммарный объем всех файлов, лежащих в нем, но без учета вложенных каталогов. Поскольку размер кластера равен 1К, то при открытии файла в WinHex (или HexWorkshop) корректно будут показано содержимое только тех файлов, чей объем не превышает 1К. Файлы размером больше 1К в общем случае могут быть разбиты (фрагментированы) на несколько несмежных кластеров.

Список «Дамп»

В этом списке показывается фф поблочно (64К), а каждый блок - в графическом виде. Может быть полезно для поиска пустого места или закономерностей. Четвертая колонка – это среднее значение всех байтов блока. Пятая – первый байт блока. Последняя колонка – описание содержимого блока. Тут программа может иногда ошибаться. Последняя строка (**) – это весь фф в целом. В графическом виде он смотрится забавно.

Список «Адресная книга»

x45-x55. При выборе этого списка нужно открыть файл 5F0x.adr, после чего будет создан список с соответствующей информацией, которую затем не трудно портировать в Excel, а из него через SDS – в телефон. Величина “x” в имени файла зависит от модели телефона. По идее, программа должна понимать адрески от любой модели. Если ранее был открыт список «Файлы» и в нем присутствовал файл 5F0x.adr, то при первом открытии списка «Адресная книга», - этот файл будет открыт автоматически.

x65. На x65 адресная книга лежит не в одном файле, а в нескольких. Для открытия всей книги нужно открывать файл с именем "00".

Список «Поиск байт»

При поиске допускается задание маски ??. Запятые и пробелы в строке поиска игнорируются. В контекстном меню доступна функция «Сохранить как Стандартную Функцию», которая не только внесет изменения в ini-файл, но и скопирует в буфер обмена соответствующую команду для Иды. Параметр «Выравнивание» управляет тем, что последовательность будет искаться только по адресам, кратным этому параметру.

Список «Поиск текста»

При поиске допускается задание маски ?. Поиск происходит в регистро-зависимом режиме.

Патч

Любые изменения фф аккумулируются в этом поле. После того, как вы закончили исследовать свой фф переходите сюда и либо сохраняйте патч, либо с помощью «Инструменты – V_Klay» запускайте патчер. О наличии данных для патча говорит индикатор в последнем поле строки статуса.

Список

В этом меню собраны все функции, которые не зависят от конкретного списка, а являются общими для всех. Так сделано для того, чтобы разгрузить контекстные менюшки в списках. Тут можно (кроме всего прочего) запустить поиск по текущему списку (Ctrl-F), продолжить его (Ctrl-G), а также копировать в буфер обмена содержимое соответствующей колонки текущей строки списка (F1 - F9). Поиск по списку игнорирует содержимое колонок со смещениями и размерами.

Language - Мультиязычная поддержка

Программа имеет гибкий мультиязычный интерфейс. Языковые файлы для программы лежат здесь. Если вы хотите добавить ваш язык в число поддерживаемых программой – скачайте языковые файлы и по их образу и подобию создайте файл своего языка. После этого переведите один из файлов документации Smelter_xx.htm на ваш язык и вместе с языковым файлом пришлите мне. При редактирвании строк языкового файла не теряйте начальные и конечные пробелы. Особое внимание следует обратить на следующие строки:

Если вы заметили неточности перевода в уже существующих языках – скачайте языковые файлы, отредактируйте нужный и пришлите мне.

Инструменты

Инструменты - Подписыватель мидлетов

Эта функциональность полностью повторяет MidletSigner2 от Chaos'а, но работает на другом движке и не использует Джаву. Создание своего сертификата и импорт его в хранилище в телефоне:
  1. Убедитесь, что у вас Windows 2000 или выше
  2. Выставьте на компьютере и телефоне реальную дату/время
  3. Скопируйте с телефона файл Config\Policy\manufacturer.sbp в компьютер. Этот шаг можно не выполнять, тогда файл будет создан автоматически
  4. Инструменты - Подписыватель мидлетов - Создать сертификат
  5. Введите имя создаваемого сертификата
  6. Укажите путь к ранее сохраненному файлу Config\Policy\manufacturer.sbp
  7. Скопируйте полученный der-файл в телефон в папку \Config\Certificate Store
  8. Скопируйте обновленный файл manufacturer.sbp в телефон в папку \Config\Policy (поверх существующего)
Теперь телефон воспримет наш сертификат как родной :)
Подписывание мидлетов:
  1. Установите желаемые разрешения для мидлета включая/выключая галочки в меню "Инструменты - Подписыватель мидлетов"
  2. Инструменты - Подписыватель мидлетов - Подписать мидлет
  3. Выберите подписываемый мидлет
  4. Укажите ранее созданный сертификат (на два каталога выше сертификата должен лежать его ключевой key-файл)
  5. Скопируйте мидлет в телефон и наслаждайтесь
Замечание от Chaos'а. Всё-таки запросы на подтверждение не зря придумали. Не стоит давать неизвестным мидлетам полную свободу, чтобы потом не удивляться "кто это с моего телефона послал 500 смсок?"

Несколько общих замечаний

Благодарности

История

Да, чуть не забыл ;). Саму программу можно взять здесь: Smelter.

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

Другие мои Siemens-проекты:
- LayoutMe - редактор клавиатурных раскладок
- FarDES - плагин для Far Manager, аналог DES

Вы можете поблагодарить автора переслав некоторую сумму денег по системе WebMoney на кошелек Z464767006197

Пишите письма: avkiev@ukr.net

ICQ: 226072

Удачи