Четверг, 25.04.2024, 12:03
Мой персональный сайт Добрым людям smart & sober

Главная Регистрация Вход
Приветствую Вас, Гость · RSS
Калькулятор


Меню сайта
Календарь
«  Август 2012  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031


Форма входа


Архив записей
Мини-чат


Категории раздела


Наш опрос
В чем заключается ваш смысл жизни
Всего ответов: 154
 
Главная » 2012 » Август » 13 » Эльфы, живущие в мобильном телефоне
01:53
Эльфы, живущие в мобильном телефоне


Android заполонил всё. Куда не глянь — новый супер-пупер смартфон на Android 2.0, 3.0, 4.0… Техника устаревает на глазах, Прогресс шагает вперед и это хорошо. Но было время, когда никто не знал про Android, а телефоны стоили столько сколько сейчас стоят смартфоны.

В те времена на обычных телефонах были и кастомные прошивки, и патчи, но не хватало приложений — хороших и разных. «А как же ява?» — спросите вы. Да, были ява-приложения. Но что умеет ява? А главное как быстро она работает? В общем, когда всем надоела тормознутая ява с ограниченными возможностями, пришёл он — ELF.

Эльф — Это unix-формат исполняемого файла. Он позволил использовать все возможности железа телефона и все возможности прошивки. Словом — это нативное приложение, которое работает в разы быстрее, чем ява. Эльфы превращали обычный телефон в смартфон и давали почти безграничные возможности.

Первой мобильной платформой из известных мне где появились эльфы, был Siemens, потом они появились на SonyEricsson и Motorola. Нужно сказать, что просто так эльф на телефоне не запустить — нужен эльфлоадер (elf loader) специальный патч, который «конвертирует» формат в обычный бинарик, грузит его в память и запускает на выполнение. Ну если хочется (а точнее даже приходится для запуска эльфа) использовать уже готовые функции прошивки, то необходима библиотека функций (названия функций + адреса). Основная проблема тут в том, что адреса этих функций у всех прошивок разные, но выход есть — код этих функций практически одинаковый и можно искать эти самые функции по, так называемым, паттернам.

Весь кодинг эльфов для Motorola достаточно сложное и вместе с тем очень интересное занятие, которое непосредственно связано с реверсингом кода прошивки. Добавляет сложности то, что приложения реализованы на событиях (т.е. практически всё асинхронно). События ставятся в очередь, их ловят обработчики событий, таким образом реализована многозадачность. Сами эльфы пишутся на Си или С++, но в большинстве случаев можно обойтись и без ООП.

Что же могут эльфы? Пусть их возможности продемонстрируют скрины (кстати для создания скринов тоже есть свой эльф):



Informer – слева, Infograph – посередине, DeskUtils – справа. Все эти эльфы предназначены для отображения различной информации на рабочем столе: погода, местоположение, баланс на симке, заряд батареи, уровень сигнала и т.п.



Аудиоплеер eTunes в различных «шкурах». Пожалуй, один из самых масштабных эльфов на Мото.



Ещё несколько приложений слева-направо: читалка, калькулятор, дополнительное меню, hex-редактор.



Ну и куда же без игр: бомбермен, пингвин Тюкс, линии, сапёр, дурак и тетрис

Конечно, это не все эльфы. Есть ещё и джабер, и майл-агент, и аська, и многое дугое. Все эльфы для Моторола вы можете найти на форуме motofan.ru

UPD: На мотофане осталась архивная тема, по которой можно узнать о том как шёл процесс рождения эльфов

PS: Если кто-то обладает информацией о том, как развивались эльфы на SE и Сименсах, и желает помочь с продолжением статьи, можно отписать мне в ICQ или ЛС
12 августа 2012 в 17:42
30
om2804 30,8

комментарии (44)

+4
Sargass #
Сейчас 2012 год, на минутку.
+10
om2804 #
поэтому и «История IT»
Навеяно коментарием
+3
Sargass #
А, окей, просто по слогу статьи как-то ни разу не похоже на «Историю».
0
BupycNet #
О, какую цепную реакцию я вызвал своей статьей.
+5
d1m1tr1 #
Да, это верно.
Но проделанная в свое время работа, достойна уважения.
Думаю многие вспомнят эти времена с ностальгией.
Просмотров: 711 | Добавил: Breger | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright MyCorp © 2024