Smelter v6.55

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 для телефону (наприклад, uMessenger), то якщо не користуватися телефоном (не натискати кнопки протягом певного часу) – відбувається таймаут і відключення від GPRS. Для збільшення таймауту і призначений цей пункт. Просто застосуйте за допомогою V_Klay той патч, який вам запропонує програма. Працює на C55, S55, M55, SL55.

Ці та багато інших функцій (як і в багатьох інших списках) доступні по правому кліку. Блоки можна завантажувати/вивантажувати на диск як поодинці, так і всі разом. При роботі з диском звернення завжди відбувається до теки \EEPROM тієї теки, де лежить фф. Чекбокс «Показувати видалені» впливає на те, чи відображуватимуться у списку видалені блоки. Корисний для пошуку своїх старих блоків, відкат до яких у деяких випадках може допомогти, якщо телефон почав глючити. Пункти спливаючого меню, які призводять до зміни вікон «Інформація» і «Патч», виділені тиком.

У підменю «Резервна копія» можна зберегти map-файл, log-файл і параметри акумулятора. Тут же можна подивитися IMEI. Користуватися отриманими файлами потрібно дуже обережно, оскільки ці файли істотно впливають на нормальну роботу телефону.

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

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

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

Для редагування усього ленгпаку потрібно виконати такі дії:

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

- Смелтер пакує ленгпак відсотків на 10 гірше, ніж Siemens. Точніше – пакує ідеально, а от словники упакування будує не надто оптимальні.
- На 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-файл, але й скопіює до буферу обміну відповідну команду для IDA. Параметр «Вирівнювання» управляє тим, що послідовність шукатиметься лише за адресами, кратними цьому параметру.

Список «Пошук тексту»

При пошуку допускається завдання маски «?». Пошук відбувається у регістрозалежному режимі.

Патч

Будь-які зміни фф акумулюються у цьому полі. Після того, як Ви закінчили досліджувати свій фф, переходьте сюди і або зберігайте патч, або за допомогою «Інструменти – V_Klay» запускайте патчер. Про наявність даних для патчу свідчить індикатор в останньому полі рядка статусу.

Список

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

Language - багатомовна підтримка

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

Якщо ви помітили помилки перекладу у вже існуючих мовах – викачайте мовні файли, відредагуйте потрібний і надішліть мені.

Інструменти

Декілька загальних зауважень

Подяки

Історія

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

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

Інші мої Siemens-проекти:
- LayoutMe - редактор розкладок клавіатури
- FarDES - плагин для Far Manager, аналог DES

Ви можете подякувати автору, переславши деяку суму грошей по системі WebMoney на гаманець Z464767006197

Пишіть листи: avkiev@ukr.net

ICQ: 226072

Щасти