ну дизасмил эти PXO файлы и прошивку, разработчики оставили много логов, так же есть приложения со стандартным GUI, и у них тоже урвал кусок информации и последовательность действий, впрочем ещё копать и копать %)
не, ну сони эрексены это как бы тоже использует труды сименс-клуба, эльфпак / эмуляторы всё бы портировано с бедного симака. Ещё помню древние посты тех времён, это было очень давно, что люди напрочь не знают что откуда появилось. Вот насчёт моторол, не знаю, у них какой то свой эльфпак не похожий на сименсовский. Какое-то подобие ему сделано на сименсе тоже =)
Он не доступен только в Java, в эльфах всё доступно, специально акселерометр-фии, я откопал первее всего.
И кстати Java через так называемые EJAPI может управлять и акселерометром, но это уже другая история
а это мой костыль, потом поменяю на чтото более путное, типа ява может через методы
String System.getProperty(String s) посылать / принимать команды / данные. Т.е. ява подгружает / или выгружает EJAPI, это есть эльф специальный, и с ним общается, ну ясное дело эльф может то, что яве только снилось, например сливать / заливать адресное пространство, пользоватся акселлерометром, делать скриншоты, итд итп, таких апи можно клипать самому и с ним работать, тоже очень интересная сторона эльфпака этого. Смысл в том что ява подает текстовые команды а эльф их исполняет и выдаёт результаты. Таким образом расширение ф-ионала Java до возможностей эльфов
И ключи:
«ejapi.avail»
Проверить доступность данного расширения, «true» — доступно.
«ejapi.ver»
Получить версию EJAPI модуля, возвращается строка с версией.
«ejapi.openapi.ejapi_elf_name.elf»
Загружает API с именем ejapi_elf_name.elf, возвращает хендл, т.е. некоторое число-ид.
«ejapi.closeapi.handle»
Выгружает api, с числом-ид handle, возвращает «true».
«ejapi.closeapi.run.handle.command_string»
Посылает команду command_string в API с числом-ид handle, возвращает результат
Если возвращает null, значит произошла ошибка или api просто у вас нет.
Само АPI представляется обработчиком (парсером) присланной строки-команды command_string и возвращает либо ноль (для JAVA придёт null), либо строку-ответ.
При загрузке главная ф-ия ф-ия должна возвратить адрес ф-ии обработчика.
Это всё можно уточнить в примерах.
Чтобы не мучатся с этими строками я всё оформляю в отдельный Java класс.
Каталог, откуда загружаются эти API это /usr/Zbin/ejapi/
Очень интересно читать, когда кто-то смог сделать что-то подобное тому, что ты сам по тем или иным причинам не сделал.
Есть у меня телефон Samsung SGH-P730. Телефон примечательный своим форм-фактором:
В довесок это был, кажется, первый телефон Samsung с mp3-плеером или с карточками rs-mmc.
Так вот, по мимо обычных Java-приложений в телефоне присутствовали 3d-игры. Игры, кстати сказать, весьма не дурные. Metalion (аркада космическая, вы летите и расстреливаете врагов), Bomb (вариант тетриса), Zio Golf (вариант гольфа). С каждой связаны очень богатые впечатления. С них то все и началось и ими же и закончилось.
Эти игры разительно отличались от того, что давала Java, но в отличии от неё загружать такие игры было нельзя никак, к слову, Java-приложения загружались тоже только через gprs. Да и что загружать? Нигде ничего про них написано не было.
Подошёл черед «ковыряния» прошивки. Из прошивки нарисовалась структура папок и файлов внутри телефона, некоторое представление о которой могла дать программа, для загрузки файлов на телефон, но она позволяла только скачивать/загружать музыку да фото/видео с камеры.
Игры были извлечены из прошивки и по возможности изучены (если кому вдруг интересно, то вот). В прошивке помимо уже имеющихся трех игр упоминались ещё три: Snake, какой-то Puzzle и Doom.
Doom, на телефоне 2004 года, вот это да! Но его не было.
Поиск по содержимому игр привел к телефону BenQ S700, у которого на sd-карте были 2 игры, исполняемые файлы которых заголовком очень были походи на мои. (Ещё лирики: файл архива sd-карты искал долго, ссылка на официальный сайт была мертвой, а однажды, спустя несколько лет я проверил web.archive.org, оказалось, что он заботливо сохранил 17мб нужной мне информации). В играх с Benq присутствовали и gameinfo.ini и расширение игр vcg совпадало, структура папок только
слегка была другой. И был doom!
Вот тут всё и закончилось, так как запихать игры от Benq в Samsung руки не дошли.
В процессе копания были найдены файл vmcs.bin и 31 файл с расширением vll, наверное какие-то link library, а может и нет.
В заголовке написано, что это ELF. Кому стало интересно, вот архив с файлами.
да эльфы какие то (даже с подписанными именами ф-ий), точнее шаред обжект, то бишь *.so либы для видео, только IDA не понимает что за проц там %)
не арм это точно (пробывал Little Endian / Big Endian)
Там же прочитал, что в прошивке ipod лежит образ диска FAT16.
В прошивке P730 по адресу 0x92AD18 тоже лежит какой-то образ, но он корректно не открывается ни UltraISO, ни WinImage. Судя по хедеру — это образ дискеты 360кб. В теле прошивки присутствуют слова «DLDOS6.0» и «rom-dos», очень похоже на какой-то datalight rom-dos
ELF — приложение на телефоне LG?