motofan logo
7 страниц V « < 4 5 6 7 >
Причина закрытия (Osta 29-07-2008):
       
> 

Elf на (M)otorola, архивная тема, С чего всё начиналось

AstaRoth
сообщение 24.2.2007, 12:47 Закрепленное сообщение!


Бошетунмай
********

Группа: Почётные мотофаны
Сообщений: 3 115
Регистрация: 5.11.2005
Из: СЕВЕРОДВИНСК,29, РФ ☭
Пользователь №: 57 206

Рейтинг: 4098



Это - архивная тема типа "А с чего всё начиналось"

Так уж получилось, что данная тема наших глубокоуважаемых программистов не заинтересовала или они посчитали ее нереализуемой, я по прежнему считаю, что ЭЛЬФЫ возможно адаптировать под мотор, нужно адаптировать уже имеющиеся семеновские эльфы, а более насущный и сложный вопрос - запуск самого эльфа на теле - или писать загрузчик или рассматривать другие варианты ( запуск через яву на мой взгляд утопия - так как эльф тем и хорош, что работает напрямую с процом минуя яву - за счет чего и идет прирост производительности).
Тема обсуждения на сименсклабе

Вот такая тема: http://cbn.narod.ru/documents/elf_info.html
http://www.siemens-club.org/faq/index.php?...e&faqID=231
В кратце:


Помимо патчей существует еще одна возможность расширения функциональных возможностей телефона. Она состоит в исполнении непосредственно кода ARM-процессора аппаратов на платформах SGold и NewSGold, т.е. имеется возможность создавать собственные приложения, работающие аналогично cименсовскому программному обеспечению и использующие производственный стандарт ELF (Executable and Linking Format). Отсюда и название - эльфы.

Поскольку эльфы исполняются непосредственно процессором без промежуточных надстроек типа java-машины, им доступна вся оперативная память и абсолютно все функции прошивки, созданные программистами Сименса. Скорость исполнения любых команд ограничена только мощностью процессора, поэтому она огромна, в десятки раз выше скорости исполнения java-приложений.

Подобные приложения распространяются в виде файлов с расширением *.elf. Эльфы не зависят (в рамках одной платформы) от модели аппарата и версии прошивки. Исполняются они либо как обычные приложения - нажатием кнопки джойстика в Card Explorer'е, либо вешаются в памяти демонами при загрузке аппарата.

Перед использованием эльфов необходимо ознакомиться с понятиями ELFpack и ELFloader. ELFpack - патч, позволяющий загружать эльфов, абстрагируя их от конкретной версии прошивки (по аналогии с Библиотекой функций в Мастер-Патче). ELFloader - часть ELFpack'а, отвечающая непосредственно за загрузку кода приложения в оперативную память и передачу ему управления. © siemens-club.org


Все эльфы для сименс - читаем описалово, делаем выводы
основы программирования-изучаем, берем опыт ковырятелей сименса
Общие вопросы по эльфам на семенах


Тема обсуждения на спрочтите правила форума Motofan !е

========================
Описание Эльф-формата (eng) PDF

========================

Были написаны Bin Loader (автор: om2804) и бинарик (автор: Andy51). Бинарик выводит текст на экран, выход по любой кнопке. Закинуть в корень флешки, т.е. b/test.bin. Bin Loader грузит бинарик в RAM и от туда его выполняет. Т. к. это ява ставим через MMM. Бинарик работает только на моде от elektro255


Исходник

Компилер

BinLoader


Бинарники для Electro255 v3 и v4 -Также переименовать в test.bin и на флешку.

--------

!!! Первый эльфлоадер !!! (с) om2804 (не стесняемся-благодарим комрада за труды ТУТ)

Прикрепленный файл elf_loader_1.0.zip   ( 10.9 килобайт ) Кол-во скачиваний: 1678
обновленный bin loader 1.2.2 + адрес теперь в hex + округление адреса до кратного 4
Прикрепленный файл bin_loader_1.2.2.rar   ( 12.04 килобайт ) Кол-во скачиваний: 1579



********* Первый эльфпак для моторола! ! !


ТЕМА Автор Andy51

(+) Особая благодарность om2804

(+) Ну и ессно без Vilko некуда

(+) Спасибо Exebyte

(+)
********

Сообщение отредактировал Andy51 - 2.3.2008, 23:28
Прикрепленный файл bin_loader_1.2.2.rar   ( 12.04 килобайт ) Кол-во скачиваний: 1579
Прикрепленный файл elf_loader_1.0.zip   ( 10.9 килобайт ) Кол-во скачиваний: 1678
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Red_Lion
сообщение 10.7.2007, 9:06


Интересующийся
**

Группа: Пользователи
Сообщений: 31
Регистрация: 10.1.2007
Пользователь №: 116 022
Модель телефона: v3i
Прошивка: CF_Masta-Red

Рейтинг: 5



Kim Li Sun,
Вообщето я сомневаюсь что сразу появяться вирусы на elf smile.gif
Изолировать - не самая лучшая идея - вдуг решим сделать допустим видео плеер тогда изоляция не лучший вариант
Всеравно какбы не изолировали за счет промежуточных dll за счет встроенных в прошивку функций доступ получить легко
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Kim Li Sun
сообщение 10.7.2007, 9:35


Интересующийся
**

Группа: Пользователи
Сообщений: 44
Регистрация: 13.4.2007
Из: Солнечная система Земля Россия
Пользователь №: 130 912
Модель телефона: E398 && ROKR E6
Прошивка: R373_G_0E.30.46R

Рейтинг: 5



Red_Lion,
Сразу - нет. Но появятся они точно, если не пресечь их заранее.

Про "Изолировать" я вероятно не до конца разъяснил - ELF-программа может свободно манипулировать со всеми файлами и каталогами в пределах своей папки и подпапках этой папки. А если вы захотите посмотреть видео или послушать mp3, то ELF-программам даётся доступ на чтение этих файлов, по запросу от файлового менеджера (т.е. ткнули джойстиком в файл или плей-лист из файлового менеджера и он передаёт право на чтение конкретной ELF-программе из связки тип - программа-обработчик). Поэтому эта "изолированность" лишь оберегает данные пользователя. А "доверие" - счёт этого же владельца телефона, также как и его данные.

А про последнюю строчку я и говорил, что забрав часть свобод у ELF-программ на этапе loader'а (на сколько я понял именно он загружает программу в память и ставит её на выполнение; а файловый менеджер будет перехватывать все обращения к файловой системе - разрешая или запрашивая запрос на данные действия у пользователя). По сути, идёт отсечение возможностей по прерываниям. Если можно - сейчас - обойти эту конструкцию, то эти "дыры" надо закрыть.

Данная концепция не лишает пользователя каких-либо функциональностей и возможностей его телефона: минипрограммы-обработчики чётко будут выполнять свою деятельность на качественном уровне, а сама концепция будит лишь оберегать данные и деньги владельцев телефонов с такой системой.

Сообщение отредактировал Kim Li Sun - 10.7.2007, 9:37
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 10.7.2007, 10:47


0xFFFF
******

Группа: Разработчики
Сообщений: 832
Регистрация: 28.3.2006
Из: Нижний Новгород
Пользователь №: 76 255
Модель телефона: E398, Milestone 2
Прошивка: 49R w/ElfPack2


Настроение:
^^,



Рейтинг: 1224



Kim Li Sun, в твоей системе есть слабые места, которые сводят на нет все усилия по её разработке. Допустим, мы сделаем на этапе динамической линковки лоадером вместо, например, какогонить fopen, переход на нашу собственную, контролирующую права функцию. Тогда что мешает вирусописателю отказаться от динамической линковки и вызвать fopen напрямую из прошивки?
Вариант второй. Мы патчим fopen в прошивке, добавляя вызов контролирующей функции напрямую из fopen. Но в таком случае каким образом мы будем определять, какое приложение вызвало fopen?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
om2804
сообщение 10.7.2007, 18:30


МотоКодер
******

Группа: Разработчики
Сообщений: 786
Регистрация: 14.8.2006
Из: Архангельск
Пользователь №: 95 055
Модель телефона: E398
Прошивка: DaR
Победитель конкурса 2008

Рейтинг: 1650



Зачем беспокоиться по поводу вирусов? Только лишние ограничения. В эльфе достаточно сложно найти место для вирусного кода, слишком уж "плотная" структура. Написать эльф новичку не так просто. Да и в конце концов можно и антивирус написать smile.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Kim Li Sun
сообщение 11.7.2007, 10:54


Интересующийся
**

Группа: Пользователи
Сообщений: 44
Регистрация: 13.4.2007
Из: Солнечная система Земля Россия
Пользователь №: 130 912
Модель телефона: E398 && ROKR E6
Прошивка: R373_G_0E.30.46R

Рейтинг: 5



om2804
Цитата
Зачем беспокоиться по поводу вирусов? Только лишние ограничения. В эльфе достаточно сложно найти место для вирусного кода, слишком уж "плотная" структура. Написать эльф новичку не так просто. Да и в конце концов можно и антивирус написать

Почитай, пожалуйста, тему про вирусы на s-c - http://forum.siemens-club.org/viewtopic.ph...2886&page=0
И ИМХО - лучше заранее убрать спички от детей, чем потом дом заново строить, если останется на что и где... =(

Andy51
Цитата
Тогда что мешает вирусописателю отказаться от динамической линковки и вызвать fopen напрямую из прошивки?

Две "одинаковые" функции разумным выходом не являются - согласен.
Цитата
Вариант второй. Мы патчим fopen в прошивке, добавляя вызов контролирующей функции напрямую из fopen. Но в таком случае каким образом мы будем определять, какое приложение вызвало fopen?

Это уже чуть лучше. Выход - как в любой операционке (2 курс МИЭМ, предмет ОС, курсовая), т.е. каждое запущённое приложение - это процесс, имеющее свой уникальный идентификатор, который и поможет определить какое приложение вызвало функцию. Например, встроить проверку на допустимость такой операции в самом начале функции. Список таких доступов (в одном битовом поле на все функции на каждое приложение можно хранить в самой оперативке). Что позволит изменить эти значения в оперативке "вирусу" - те же ограничения в функциях записи... Всё делается через функции.

Лично мне не нравится наша "ОС"-прошивка телефона из-за малой функциональности. Эта тема мне именно понравилась тем, что я смогу сам совершенствовать свой телефон и делится этим с другими. Я лишь хочу, чтобы данная система была "закрыта" и защищена ещё на этапе проектирования и реализации, чтобы потом осталось место только творчеству и комъюнити...

Сообщение отредактировал Kim Li Sun - 11.7.2007, 10:57
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Motohobiman
сообщение 11.7.2007, 11:16


Мотофан
*******

Группа: Почётные мотофаны
Сообщений: 1 749
Регистрация: 3.5.2006
Из: Ukraina
Пользователь №: 81 710
Модель телефона: Е1,E2,U9,L6,W510.
Прошивка: Слава Украине!


Настроение:
Вечный мотодроллер;)



Рейтинг: 908



Для начала нужен лодырь.И какой ущерб может нанести вирус телефону,стереть юзерские файлы и обнулить счёт,а распространение вируса как? Самый оптимум это реализация мотороловских сертов с установкой прав юзером.И кто этим займётся ?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 11.7.2007, 11:23


0xFFFF
******

Группа: Разработчики
Сообщений: 832
Регистрация: 28.3.2006
Из: Нижний Новгород
Пользователь №: 76 255
Модель телефона: E398, Milestone 2
Прошивка: 49R w/ElfPack2


Настроение:
^^,



Рейтинг: 1224



Цитата(Kim Li Sun @ Сегодня, 14:54)

каждое запущённое приложение - это процесс
*

Пока что это не совсем так... Ну подробости потом расскажу
Цитата(Kim Li Sun @ Сегодня, 14:54)

встроить проверку на допустимость такой операции в самом начале функции
*

Знал, что это предложишь. Это очень легко обойти - пишется своё "начало" функции, а из него - джамп в нужной функции на локацию после проверки.
Цитата(Kim Li Sun @ Сегодня, 14:54)

Что позволит изменить эти значения в оперативке "вирусу"
*

Ограничить доступ к ФС и функциям связи - ещё можно, хотябы теоретически, но к оперативке - уже никак
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Kim Li Sun
сообщение 11.7.2007, 14:02


Интересующийся
**

Группа: Пользователи
Сообщений: 44
Регистрация: 13.4.2007
Из: Солнечная система Земля Россия
Пользователь №: 130 912
Модель телефона: E398 && ROKR E6
Прошивка: R373_G_0E.30.46R

Рейтинг: 5



Motohobiman
Цитата
И какой ущерб может нанести вирус телефону

Потеря данных, нулевой (а то и глубоко отрицательный) счёт, заломить телефон, что его поднимит только тест поитн...
Цитата
а распространение вируса как?

Синезуб, левые сайты... Тебе этого мало?
Почитай, пожалуйста, тему на s-c (ссылка выше).

Andy51
Рад что мысли сходятся.
Цитата
а из него - джамп

А разве это не функция? =)
Цитата
Ограничить доступ к ФС и функциям связи - ещё можно, хотябы теоретически, но к оперативке - уже никак

Согласен - про оперативку и у самого были сомнения... Но на флешку то можно перенести (только вот производительность и быстродействие... хотя это вроде только бинарное поле - надо думать...)
Цитата
Ну подробости потом расскажу

Ждём... У самого какое мнение на этот счёт? =)

Сообщение отредактировал Kim Li Sun - 11.7.2007, 14:05
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
John Johonson
сообщение 30.7.2007, 7:47


Новичок
*

Группа: Пользователи
Сообщений: 11
Регистрация: 30.5.2007
Из: Новосибирск >> Академгородок
Пользователь №: 136 554
Модель телефона: SLVR L7
Прошивка: HotMix E0R_RB

Рейтинг: 2



Есть знания С++ и сейчас активно учу асм. Хотелось бы такое чудо и на л7.
Andy51, если эльфы не будут в отдельном процессе то можно написаль лоадер который работает в отдельном процессе и который запускает таскменеджер, уже через который эльфы будут параллелится.
Vilko, 8 мб оперативки чем занято? Можно ли чтоб ОС телефона часть своего кода выполняла напрямую из флеш памяти и не занимала оперативку?! Или проще swap организовать?!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 30.7.2007, 7:57


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



John Johonson,
память занята - хипами, gsm-stack'ом, явой, мультимедией. это основные "потребители".
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Elf на (M)otorola, архивная тема, С чего всё начиналось · Эльфы, их разработка и портирование · Forum
 

7 страниц V « < 4 5 6 7 >
Причина закрытия (Osta 29-07-2008):
Закрытая темаСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 26.4.2024, 4:34

Форум живёт: