|
ELF
Executable and Linking Format (Формат Исполняемых и
Связываемых файлов) - формат двоичных исполняемых файлов,
объектных файлов, разделяемых объектов (библиотек), а также файлов core
dump. Предусматривает возможность работы
на
разнообразных процессорах с разной архитектурой. Имеет такую структуру,
когда можно предусмотреть максимальную
совместимость и гибкость. Используется во многих UNIX-подобных
операционных системах.
Метод применим для 65-й серии и выше
Помимо патчей существует еще одна возможность расширения
функциональных возможностей телефона. Она состоит в исполнении
непосредственно кода ARM-процессора аппаратов на платформах SGold и
NewSGold, т.е. имеется возможность создавать собственные приложения,
работающие аналогично cименсовскому программному обеспечению и
использующие производственный стандарт ELF (Executable and Linking
Format). Отсюда и название - эльфы.
Первопроходцами в освоении данного направления стали
Rst7,
KonstanT и
ВоВа.
Поскольку эльфы исполняются непосредственно процессором без
промежуточных надстроек типа java-машины, им доступна вся оперативная
память и абсолютно все функции прошивки, созданные программистами
Сименса. Скорость исполнения любых команд ограничена только мощностью
процессора, поэтому она огромна, в десятки раз выше скорости исполнения
java-приложений.
Подобные приложения распространяются в виде файлов с
расширением *.elf. Эльфы не зависят (в рамках одной платформы) от модели
аппарата и версии прошивки. Исполняются они либо как обычные приложения
- нажатием кнопки джойстика в Card Explorer'е, либо вешаются в памяти
демонами при загрузке аппарата.
Перед использованием эльфов необходимо ознакомиться с
понятиями ELFpack и ELFloader. ELFpack - патч, позволяющий загружать
эльфов, абстрагируя их от конкретной версии прошивки (по аналогии с
Библиотекой функций в Мастер-Патче). ELFloader - часть ELFpack'а,
отвечающая непосредственно за загрузку кода приложения в оперативную
память и передачу ему управления.
Чтобы успешно использовать эльфов, необходимо и достаточно
установить с помощью V_Klay один из следующих наборов патчей для нужной
версии прошивки вашего телефона:
ELFpack (в который входят ELFloader, своя библиотека функций SWI-lib и
свой SWI-hook, не совместимые с Мастер-Патчем) - если вы не пользуетесь
Мастер-Патчем и зависящими от него патчами;
ELFloader,
SWI-hook,
Библиотека функций из комплекта Мастер-Патча - набор для платформы
NewSGold, совместимый с Мастер-Патчем;
ELFloader,
SWI-hook,
Большая библиотека функций из комплекта Мастер-Патча - набор для
платформы SGold, совместимый с Мастер-Патчем.
В дальнейшем надо регулярно обновлять используемую вами
библиотеку функций и SWI-hook, потому что библиотеки регулярно
пополняются, и использование новых эльфов со старыми библиотеками может
приводить к непредсказуемым последствиям. Свежие версии можно найти в
темах с патчами для вашей модели телефона на форуме, либо в Базе патчей.
На телефоне следует создать следующие каталоги и файлы:
4:\ZBin\Daemons\, 4:\ZBin\etc\, 4:\ZBin\etc\extension.cfg - для
платформы NewSGold;
0:\ZBin\Daemons\, 0:\ZBin\etc\, 0:\ZBin\etc\extension.cfg - для
платформы SGold.
Вообще говоря, полную структуру каталогов лучше сделать в
соответствии с данным архивом.
Полная информация по установке эльфов дается при их
выкладывании в соответствующем разделе. Обычно файлы *.elf помещаются в
каталоге ZBin\ либо в каком-либо из его подкаталогов.
В каталог ZBin\Daemons копируются эльфы, которые должны быть
запущены при загрузке телефона. В каталоге ZBin\etc располагаются
текстовые конфигурационные файлы эльфов.
В файле extension.cfg прописаны ассоциации расширений файлов
с запускаемыми эльфами при кликании джойстиком на этих файлах в Card
Explorer'е. Строка со '*' в первой позиции (для любых расширений, не
перечисленных выше) должна быть последней. Каждая строка записывается в
виде Расширение:Полный путь к эльфу без пробелов, например:
tmo:4:\ZBin\Kibab\TMO.elf
*:4:\ZBin\TED\TED.elf
Выгрузка эльфов (не являющихся демонами) возможна только
после перезагрузки аппарата, если эта операция не предусмотрена в самом
приложении. Чтобы выгрузить эльфа, висящего демоном, перед перезагрузкой
телефона его надо убрать из каталога ZBin\Daemons или сменить расширение
файла elf на любое другое.
В
Базе патчей
Kibab'а эльфы располагаются в разделах X65 SW:100 (для платформы
SGold) и X75 SW:100 (для платформы NewSGold). Также они могут быть
найдены
Здесь и
Здесь и
Здесь
Респект
ВоВа,
Kibab и
Grizzzzly за предоставленную информацию.
Дополнения Spider13
В файле extension.cfg прописаны ассоциации расширений файлов с
картинками gpf и с запускаемыми эльфами при кликании джойстиком...............
tmo/1003/1103:4:\ZBin\Kibab\TMO.elf
*:4:\ZBin\TED\TED.elf
(где /1003/1103 - /<номер DEC gpf'ки с маленькой иконкой>/<большой
иконкой>
Статья взята с сайта
www.siemens-club.org |