Помимо патчей существует еще одна возможность расширения функциональных возможностей телефона. Она состоит в исполнении непосредственно кода ARM-процессора аппаратов на платформах SGold и NewSGold, т.е. имеется возможность создавать собственные приложения, работающие аналогично cименсовскому программному обеспечению и использующие производственный стандарт ELF (Executable and Linking Format). Отсюда и название - эльфы. Первопроходцами в освоении данного направления стали Rst7, KonstanT, ВоВа.
Поскольку эльфы исполняются непосредственно процессором без промежуточных надстроек типа java-машины, им доступна вся оперативная память и абсолютно все функции прошивки, созданные программистами Сименса. Скорость исполнения любых команд ограничена только мощностью процессора, поэтому она огромна, в десятки раз выше скорости исполнения java-приложений.
Подобные приложения распространяются в виде файлов с расширением *.elf. Эльфы не зависят (в рамках одной платформы) от модели аппарата и версии прошивки. Исполняются они либо как обычные приложения - нажатием кнопки джойстика в Card Explorer'е, либо вешаются в памяти демонами при загрузке аппарата.
Перед использованием эльфов необходимо ознакомиться с понятиями ELFpack и ELFloader. ELFpack - патч, позволяющий загружать эльфов, абстрагируя их от конкретной версии прошивки. ELFloader - часть ELFpack'а, отвечающая непосредственно за загрузку кода приложения в оперативную память и передачу ему управления.
Чтобы успешно использовать эльфов, необходимо и достаточно установить с помощью V_Klay один из следующих наборов патчей для нужной версии прошивки вашего телефона:
эльфлоадер 2.2 или выше и библиотека функций, для некоторых "особых" эльфов понадобится АПИ.
эльфлоадер 2.2 или выше, библиотека функций, АПИ и мастер патч 14 совместимый с эльфлоадером 2.2 и выше.
Указанные патчи Вы можете найти тут.
В дальнейшем надо регулярно обновлять используемую вами библиотеку функций и SWI-hook, потому что библиотеки регулярно пополняются, и использование новых эльфов со старыми библиотеками может приводить к непредсказуемым последствиям. Свежие версии можно найти в темах с патчами для вашей модели телефона на форуме, либо в Базе пачтей.
На телефоне следует создать следующие каталоги и файлы: 4:\ZBin\Daemons\, 4:\ZBin\etc\, 4:\ZBin\etc\extension.cfg.
Полная информация по установке эльфов дается при их выкладывании в соответствующем разделе. Обычно файлы *.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 и Grizzzzly за предоставленную информацию.
Информация заимствована от сюда: http://www.siemens-club.org/faq/index.php?Action=showarticle&faqID=231
Автор jagr