Редактор прошивок телефона Mitsubishi Trium Eclipse
Статьи
Записки охотника
Записки охотника
или сборник того, что мало кто знает
Краткие сведения об устройстве файловой системы:
Кластерная организация, размер кластера 512 байт,
размеры памяти - 4Мб под флэш, где хранится прошивка и "образ"-раздел RO_01,
и 1Мб под дата-флэш, где хранятся все создаваемые телефоном данные - телефонная
книга, диктофон, настройки, картинки, мелодии и т.д. Два раздела - RO_01 - записан
в просто флэше, RW_01 - создается в дата-флэше телефоном после команды форматирования файловой
системы - код 65512890. При этом файлы настройки копируются из RO_01
Главная проблема - считывание дата-флэша. Доступные на настоящий момент программы считывают
только флэш с прошивкой (4Мб). Вроде Юный Потрошитель Триумов balu_dark работает над загрузчиком,
как будет готово - выложу на сайте.
Структура хранения файлов и папок. Сначала идет 512 байт заголовка:
Id: array [1..4] of char; // всегда текст 'donI'
CurCluster: Cardinal; // 4 байта, номер текущего кластера
reserved:Cardinal; // 4 байта $FF
N1Cluster: Cardinal; // точно не установлено
N2Cluster: Cardinal;
unknown: array [1..12] of byte; // 12 байт неустановленных данных
DataSize:Cardinal; // общий размер данных (начало в след. кластере)
FAT33: array[1..33] of Cardinal; //4-байтовые ссылки на номера кластеров,
в которых находятся данные
Zero: array[1..2] of Cardinal; // 2 байта нулей
Sig: Cardinal; // сигнатура начала имени текущей папки/файла - E4 00 00 00
DataType:Byte; //тип данных, файл - $B6, папка - $FF
Sig2: array[1..6] of Byte; // всегда 01 00 00 00 00 03
DataType2:Byte; // видимо еще тип данных, 00-file, 05-dir
FileNameLength:Byte; // длина имени описываемого файла/папки
Sig3:Byte; // всегда 02
FileName: array [1..38] of char; // имя описываемого файла
FFSpace: array [1..284] of char; // не используется, $FF
Если тип данных (DataType) - файл, то далее следуют кластеры с данными этого
файла, если размер больше 16896 байт, то после 16896 байт данных следует еще
512 байт таблицы размещения кластеров (FAT).
Если тип данных - папка, то структура следующих далее данных такова: это записи,
следующие друг за другом формата:
StartCluster: Cardinal; // начальный кластер файла/папки, 4 байта
ElementNameSize: Byte; // длина имени файла/папки
Sig: Byte; // всегда $02
ElementName: array[1..34] of char; // собствено имя файла/папки
Фактически первый кластер имеет номер 3. Следующий за ним блок данных - 4. Следующий
далее заголовок имеет номер кластера 5. И так далее. Блоков данных может быть более,
чем 1, максимальное их число в принципе не ограничено.
Библиотеки и компоненты в прошивке.
В прошивке были найдены следующие упоминания об авторских правах (Copyrights):
libpng version 1.0.11 - April 27, 2001
Copyright (c) 1998-2001 Glenn Randers-Pehrson
Copyright (c) 1996, 1997 Andreas Dilger
Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. Судя по названию - библиотека работы с png-изображениями, которые
наряду с gif, jpg и wbmp поддерживает Eclipse.
inflate 1.1.3 Copyright 1995-1998 Mark Adler
Довольно интересная вещь.
Это копирайты из используемой повсеместно, даже в линуксах библиотеки
zlib, предназначенной для упаковки/распаковки данных. У меня не осталось никаких
сомнений, что большинство строковых ресурсов в этом таксофоне запакованы по методу
deflate. Структура языкового файла довольно проста - заголовок, таблица (дерево,
если говорить точнее) Хаффмана, еще какая-то хрень, наверное способ соединения веток
дерева друг с другом, и собственно сами запакованные данные. Но до того, как соединить
эти ветки друг с другом я не дошел, поэтому написать распаковку языковых файлов пока
не в состоянии. Вообще такой способ хранения текстов довольно распространен во
многих моделях других телефонов, к примеру, в сименсах.
deflate 1.1.3 Copyright 1995-1998 Jean-loup Gailly
На ту же тему, что и inflate
COPYRIGHT AIKI CORPORATION 1997.
А это нечто для работы с клавиатурой, кажется.
Вероятность 50% - или угадал, или нет (c) Женская Логика
Copyright (c) 1999 by ART, Advanced Recognition Technologies Incorporated. All Rights Reserved
Голосовой набор и, возможно, диктофон.
Кстати, файл диктофона находится по адресу /RW_01/PR/VMEMO/VMEMO1.BIN Вот
только я не знаю, как вытаскивать из телефона раздел RW_01 и что он фактически из себя представляет.
Это мало кто знает
Браузер - METE, версия 1.2b
Версия WML - 1.2
В прошивке есть две строки с названием браузера клипсы, они идут одна за другой.
Фактически телефон говорит, что он Mitsu/1.2.B (Eclipse)MMP/1.1, хотя прямо
перед этим названием в прошивке есть следующее, довольно интересное - Nokia7110/1.0 (04.78)
Даже и не знаю, чего тут думать =)
Вообще левый какой-то список =) В самой прошивке содержится самый достоверный и полный.
Смотрите прошивку, или если влом, сайт Антона.
Версия WTA: 1.0
Библиотеки WTA:
WTAVoiceCall
WTAIGSM
Библиотеки WTAI:
WTAPublic
WTAI - это нечто вроде WML стандарта для управления телефоном. Т.е. в тексте своей
wap-странички (карточки, если точно) указываете нечто вроде wtai://mc/vc как
гиперссылку и при переходе на нее телефон чего-нибудь сделает - позвонит по выбранному
вами номеру, добавит номер и т.д. В этом стандарте огромное количество команд, разбитых
по библиотекам, названия некоторых вы можете видеть выше. Список всех команд этого
стандарта содержится в файле-спецификации SPEC-WTAI-19991108.pdf Яndex - Найдется всё!
Вопрос к Vitt, админу trium-club.ru: благодаря этим данным у вап-версии триум-клуба появилась
возможность звонить прям из браузера? Так прикрутите еще чего-нибудь!
Библиотеки WMLScript:
Lang
Float
String
URL
WMLBrowser
Dialogs
Максимальный размер файла мелодии: 2048 байт
Максимальный размер названия мелодии: 17 символов
Максимальный размер обоев: 30720 байт (мне было весело смотреть баннеры 480x40)