Тут промилькивала идея написать прошивку и она будет работать до первой перезагрузки телефона, может рискнем?
![]() Ковырнём Прошивку ..., Hex Workshop 4.0, Hiew etc... |
![]() |
![]() |
![]() |
![]() |
![]() |
Здравствуйте, гость ( Вход | Регистрация ) |
![]() Ковырнём Прошивку ..., Hex Workshop 4.0, Hiew etc... |
wvitalik |
![]() |
![]() Мастер ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 270 Регистрация: 2.9.2004 Из: Україна, Вінниця. Пользователь №: 11 396 Модель телефона: C550->V635->A1000+E6 Прошивка: 54.08.20/02p Рейтинг: 46 ![]() |
Тут промилькивала идея написать прошивку и она будет работать до первой перезагрузки телефона, может рискнем?
|
BeZnOg |
![]() |
![]() Мастер ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 230 Регистрация: 24.3.2005 Из: Москва Пользователь №: 39 439 Модель телефона: Nokia 6233 Прошивка: 05.43 Рейтинг: 55 ![]() |
Vilko,
Пожалуйста поясни,вот я прошил не подписанную R373_1FR,тело как и ожидалось не запустилось,выпало в бланк,а дальше что делать?Где,и какие команды вводить?И еще вопрос,сконвертирует ли таким образом она ПДС?(Если всетаки в ней он 2 версии..) :) Спасибо. |
Vilko |
![]() |
![]() Мотокодер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Легенды MotoFan.Ru Сообщений: 1 331 Регистрация: 23.6.2003 Из: Москва Пользователь №: 71 Модель телефона: E398+, Е1000, ... Рейтинг: 1116 ![]() |
BeZnOg,
зппкскать - командой jump на точку входа(указатель на нее - dword по адресу 10080000) но просто так ее не запустишь и сконвертить она ничего не сконвертит. суть в том, что часть симов в pds шифрована. ти симы отвечают только за сим-лок. и еще сим с версией системы безопасности. тот самый, что сконвертить надо. но при запуске из бланк-режима аппаратная система шифрования телефона не работает, и включить ее нельзя. поэтому в прошивке надо отменить расшифровку/проверку этих симов, чтобы она нормально запустилась,а не вылетала с ошибкой "система криптования не работает". иначе - не запустить. Osta откуда? подписи-то никто не поломал. |
alo33 |
![]() |
![]() Мастер ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 233 Регистрация: 10.12.2004 Из: Ульяновск Пользователь №: 26 053 Модель телефона: Defy+ Прошивка: 4.5.1-134_DFP-231 Рейтинг: 51 ![]() |
|
Vilko |
![]() |
![]() Мотокодер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Легенды MotoFan.Ru Сообщений: 1 331 Регистрация: 23.6.2003 Из: Москва Пользователь №: 71 Модель телефона: E398+, Е1000, ... Рейтинг: 1116 ![]() |
alo33,
Osta, я - не делал. если делал кто-то еще - не в курсе... |
alo33 |
![]() |
![]() Мастер ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 233 Регистрация: 10.12.2004 Из: Ульяновск Пользователь №: 26 053 Модель телефона: Defy+ Прошивка: 4.5.1-134_DFP-231 Рейтинг: 51 ![]() |
Vilko,
Допустим я изменил прошивку (например просто поменял номер прошивки в HEX-редакторе или поменял адреса в булоадере) то как я должен залить измененную прошиву (через P2KFlash или Ramldr?) 2) Как я понял тел в обычном режиме не включится -> я должен запустить его в флеш-моде и через Ramldr ввести команду jump на точку входа (указатель на нее - dword по адресу 10080000) я правильно понял? Также меня интересует когда тело перезагружается то это происходит с помощью команды в прошиве (програмно) или кратковременным отключением питания (как reset в компе - апаратно)? |
Vilko |
![]() |
![]() Мотокодер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Легенды MotoFan.Ru Сообщений: 1 331 Регистрация: 23.6.2003 Из: Москва Пользователь №: 71 Модель телефона: E398+, Е1000, ... Рейтинг: 1116 ![]() |
alo33,
Цитата как я должен залить измененную прошиву (через P2KFlash или Ramldr?) как угодно Цитата Как я понял тел в обычном режиме не включится -> я должен запустить его в флеш-моде и через Ramldr ввести команду jump на точку входа (указатель на нее - dword по адресу 10080000) я правильно понял? да. только просто изменить несколько байт недостаточно. нужно в процедуре чтения/записи симов из pds отключить шифрование тех симов,которыфе шифрованы - криптосистема не будет работать. сделать это несложно, поменять всего байт 10-15... Цитата Также меня интересует когда тело перезагружается то это происходит с помощью команды в прошиве (програмно) или кратковременным отключением питания (как reset в компе - апаратно)? и так и так. как и в компе - есть и "горячий" рестарт, и "холодный". питание можно и выключить совсем, и заставить тело сгенерить аппаратный ресет процу. |
alo33 |
![]() |
![]() Мастер ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 233 Регистрация: 10.12.2004 Из: Ульяновск Пользователь №: 26 053 Модель телефона: Defy+ Прошивка: 4.5.1-134_DFP-231 Рейтинг: 51 ![]() |
Цитата(Vilko @ Пятница, 14 Октября 2005, 0:06) Тоесть при глюках тело перезагружается програмным способом? Тогда может изменить код прошивки чтобы при перезагрузке тело не выключалось а просто выгружались все процессы и заново загружались в память (так сказать перезагрузка при которой тело не будет выключатся и следственно проверятся на RSA) хотя скорее всего это из области фантастики Цитата(Vilko @ Пятница, 14 Октября 2005, 0:06) да. только просто изменить несколько байт недостаточно. нужно в процедуре чтения/записи симов из pds отключить шифрование тех симов,которыфе шифрованы - криптосистема не будет работать. сделать это несложно, поменять всего байт 10-15... это ты мне про случай с BeZnOg говоришь (с ковертацией pds) или при любом изменении прошивы? |
Vilko |
![]() |
![]() Мотокодер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Легенды MotoFan.Ru Сообщений: 1 331 Регистрация: 23.6.2003 Из: Москва Пользователь №: 71 Модель телефона: E398+, Е1000, ... Рейтинг: 1116 ![]() |
Цитата чтобы при перезагрузке тело не выключалось а просто выгружались все процессы вот и с виндами в теории так предполагалось. а на практике часто без ресета не обойтись ![]() Цитата это ты мне про случай с BeZnOg говоришь (с ковертацией pds) или при любом изменении прошивы практически при любом. есть способ залить измененный флеш так, чтобы криптосистема работала, но это долго и неудобно - нужна двойная перепрошивка для каждого запуска, в отличие от одной команды jump для случая с неработающей крипто. и патчить прошивку на тему отмены использования криптосистемы - элементарно. можно даже не отменять, а встроить свою процедуру для 3des и сменить указатель на ее использование с встроенной прошивки на свой кусок кода. |
alo33 |
![]() |
![]() Мастер ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 233 Регистрация: 10.12.2004 Из: Ульяновск Пользователь №: 26 053 Модель телефона: Defy+ Прошивка: 4.5.1-134_DFP-231 Рейтинг: 51 ![]() |
Vilko,
Еще одну вещь придумал только есть пара вопросов Если залить измененный бутлоадер будет 1) так он не включится -> во флеш 2) но во флеш режиме он загрузится с измененным лоадером или вообще не запустится? 3) если запустится с измененным лоадером то что это нам дает (например можно ли через него сделать так чтобы при запуске *+#+выкл просто включался телефон? |
Vilko |
![]() |
![]() Мотокодер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Легенды MotoFan.Ru Сообщений: 1 331 Регистрация: 23.6.2003 Из: Москва Пользователь №: 71 Модель телефона: E398+, Е1000, ... Рейтинг: 1116 ![]() |
alo33,
на измененный бут тело отреагирует так-же, как и на измененный флеш - уйдет в бланк. |
Vilko |
![]() |
![]() Мотокодер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Легенды MotoFan.Ru Сообщений: 1 331 Регистрация: 23.6.2003 Из: Москва Пользователь №: 71 Модель телефона: E398+, Е1000, ... Рейтинг: 1116 ![]() |
люди, разбирающиеся в арм-асме достаточно для внесения осмысленных изменений оптимизаций в прошивку телефона - стучитесь мне в асю. есть тема на обсуждение...
|
PROFF |
![]() |
![]() Crazy People ![]() ![]() ![]() ![]() ![]() Группа: Почётные мотофаны Сообщений: 318 Регистрация: 19.6.2004 Из: |__________|90 rus| Пользователь №: 6 465 Модель телефона: HTC HD2 leo Прошивка: Android MIUI Рейтинг: 521.5 ![]() |
Vilko, на данный момент обладатели е398 имеют прошивку от roker ранней версии 373..1ER ( тестовая) с ней наше тело работает, но на сегодняшних рокерах стоит уже более новая прошивка.... дело не столько в прошивке, а в зоне pds, подробнее можно почитать
е398->рокер... возможна ли с вашей сторогы какая-то помощь? |
Exebyte |
![]() |
Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 65 Регистрация: 11.6.2005 Пользователь №: 44 009 Модель телефона: Motorola E398=>E790 Прошивка: R373_G_0E.30.44R Рейтинг: 34.5 ![]() |
Vilko, желающие-то есть, вот только знаний для этого дела пока недостаточно....
P.S. Начал собирать инфу по процу и т.д... Надо ещё RealView надыбать... а трафика минимум осталось... Попробую поискать на дисках.. :( |
Nick-85 |
![]() |
Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 60 Регистрация: 7.8.2005 Пользователь №: 48 017 Модель телефона: Motorola C380 Рейтинг: 5.5 ![]() |
Так...
Значит всё - таки можно jmpить код и даже, как я понял из вышележащих постов, модифицировать и создавать новые native java методы... Вопрос: На прошивках, подходящих для C380 такое возможно? Если да, то я с удовольствием выслушаю ваши предложения по желаемому к созданию ARM коду. Ниже OFFTOP: P.S.: Системы требующие проектирования и Herbalife не предлагать ( а вот всяческие освещения, трансформации и растеризации... ммм... ). P.S.S: Приложения использующие JSR - 184 используют числа типа float ( а вот переписать в быстрый native сверхмегатормозную реализацию стандартизованного Motorola 3D API... ). P.S.S.S: Красивые, но тормозные "ручные" 3D API, написанные полностью на Java можно использовать, например, для создания очень красивых квестов, RPG, стратегий и любых др. типов приложений, в которых допустимо длительное время первоначальной загрузки картинки, а также для полноценного играбильного real-time отображения трёхмерных объектов в небольшой области экрана. Но j2me часто работает не так как мне бы хотелось ( читать - компилируемый JBuilder с microJBlend код иногда работает некорректно и приходиться заниматься созданием дополнительных участков кода, учитывающих подобные ошибки в реализациях этих продуктов/технологий ). |
Vilko |
![]() |
![]() Мотокодер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Легенды MotoFan.Ru Сообщений: 1 331 Регистрация: 23.6.2003 Из: Москва Пользователь №: 71 Модель телефона: E398+, Е1000, ... Рейтинг: 1116 ![]() |
Nick-85,
да, запуск джампом прошивки возможен. подробно описывать - "как" еще раз надо? уточню один момент - надо "заглушить" процедуры шифрования симов - заставить их всегда отвечать "ок", поскольку криптосистема - это единственная часть железа, блокирующаяся при непрохождении подписи. используется только при криптовании нескольких симов в PDS, которые в свою очередь используются только при симлоке, так что невелика потеря :) |
Exebyte |
![]() |
Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 65 Регистрация: 11.6.2005 Пользователь №: 44 009 Модель телефона: Motorola E398=>E790 Прошивка: R373_G_0E.30.44R Рейтинг: 34.5 ![]() |
Да... Система команд довольно интересная, особенно понравились условные выполнения команд, по аналогии с конструкцией CCMOV на P6, но более продвинутая... Правда единственный софт, который у меня сейчас есть это IDA из старых "запасов"... Нынче создается впечатление, что люди торгующие дисками ни о чем кроме Delphi и C++ неслышали... у них тяжело найти ассемблер под PC, а про что-либо на ARM я вообще молчу... Смотреть "мертвый" код в IDA не очень эфективно... Нужен нормальный отладчик... может кто-нибудь посоветует что-нибудь не очень много "весящее"... :)
P.S. Продолжаю поиски RealView на дисках... :( P.P.S. Vilko, можно что-нибудь придумать с залитием в тело бэкапа при бутлоатерах A0.XX? |
Nick-85 |
![]() |
Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 60 Регистрация: 7.8.2005 Пользователь №: 48 017 Модель телефона: Motorola C380 Рейтинг: 5.5 ![]() |
Вопросы1:
Что-то такое SEEM? Что-то такое PDA? Вопросы2: Какой конкретно ARM код вы хотели бы получить? ..."заглушить" процедуры шифрования симов - заставить их всегда отвечать "ок"... Для того, чтобы написать в машинных ARM кодах jmp seg:offset "OK Code" вы хотите использовать отладчик?... почему не ручками в hex-редакторе? Если у кого-то возникнет желание, то объясните мне научно-популярно, что сейчас является препятствием для получения возможности запуска своего native - кода? |
Nick-85 |
![]() |
Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 60 Регистрация: 7.8.2005 Пользователь №: 48 017 Модель телефона: Motorola C380 Рейтинг: 5.5 ![]() |
To Vilko:
Какой конкретно ARM код вы хотели бы получить? Vilko - смотря кто "вы" я так и сам могу любой нужный мне получить. нужно задачу ставить и реализовать ее, а не "код получать"... Переформулирую вопрос: О каких, возможных к постановке, задачах идёт речь? Если у кого-то возникнет желание, то объясните мне научно-популярно, что сейчас является препятствием для получения возможности запуска своего native - кода? Vilko - да вобщем ничего, кроме объема перелопачиваемых данных. сырцов нету, а 12мегабайтный(в среднем) бинарник прошивки копать в одиночку.... надолго это. Ответ не ясен, поэтому переформулирую вопрос: Можно ли сейчас создать и запустить на исполнение свой native - метод или модифицировать уже существующий? |
Vilko |
![]() |
![]() Мотокодер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Легенды MotoFan.Ru Сообщений: 1 331 Регистрация: 23.6.2003 Из: Москва Пользователь №: 71 Модель телефона: E398+, Е1000, ... Рейтинг: 1116 ![]() |
Цитата О каких, возможных к постановке, задачах идёт речь задачи? гм, даже не знаю. народ вон мечтает съемку видео во все модели, память увеличить за счет выкидывания всего лишнего, вибро+звонок и т.п. пишущие java-приложения желают иметь возможность модифицировать имеющиеся/добавлять новые классы. я вот например хочу научить два аппарата между собой связыватся минуя БС. ;) Цитата Можно ли сейчас создать и запустить на исполнение свой native - метод или модифицировать уже существующий? можно. я об этом уже не помню сколько раз писал. :) |
GLuka |
![]() |
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Регистрация: 1.9.2005 Пользователь №: 50 281 Модель телефона: e398 Прошивка: 43R Рейтинг: 0 ![]() |
По поводу запуска до первого выключения..
Я так понимаю, что запуск аппарата будет происходить с помощью компа путем посылки команды телу совершить переход на указанный адрес. Я думаю не так сложно будет сделать устройство, которое могла бы посылать команду перехода телу, чтобы не быть привязанным к компу(сразу скажу, что в электронике я не разбираюсь, но почему-то так кажется..). Схему эту можно будет либо запихнуть в тело, либо подключать снаружи как ключ.. Вот так вот. Если в чем не прав - ногами не бить.. Это просто мои мысли. <_< |
TAL |
![]() |
![]() Ветеран ![]() ![]() ![]() ![]() ![]() Группа: Почётные мотофаны Сообщений: 508 Регистрация: 25.5.2005 Из: Africa Пользователь №: 43 105 Модель телефона: Lenovo P2 Прошивка: original Рейтинг: 217 ![]() |
Цитата(GLuka @ Среда, 2 Ноября 2005, 13:10) По поводу запуска до первого выключения.. Я так понимаю, что запуск аппарата будет происходить с помощью компа путем посылки команды телу совершить переход на указанный адрес. Я думаю не так сложно будет сделать устройство, которое могла бы посылать команду перехода телу, чтобы не быть привязанным к компу(сразу скажу, что в электронике я не разбираюсь, но почему-то так кажется..). Схему эту можно будет либо запихнуть в тело, либо подключать снаружи как ключ.. Вот так вот. Если в чем не прав - ногами не бить.. Это просто мои мысли. <_< например ноутбук везде с собой таскать :D |
Nick-85 |
![]() |
Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 60 Регистрация: 7.8.2005 Пользователь №: 48 017 Модель телефона: Motorola C380 Рейтинг: 5.5 ![]() |
To Vilko:
О каких, возможных к постановке, задачах идёт речь Vilko - задачи? гм, даже не знаю. народ вон мечтает съемку видео во все модели, память увеличить за счет выкидывания всего лишнего, вибро+звонок и т.п. пишущие java-приложения желают иметь возможность модифицировать имеющиеся/добавлять новые классы. я вот например хочу научить два аппарата между собой связыватся минуя БС. 1) к съёмке видео у меня интереса немного :) 2) на нехватку встроенной памяти не жалуюсь, а вот флэшку подключить - через микрофон / динамик + электронный преобразователь, либо через USB + электронный преобразователь, либо телефон исп. как сервер для дозвона + тариф с "входящие бесплатно" это... ммм... особенно последнее самое простое к исполнению и наиболее желаемое мной к дальнейшему использованию. 3) вибро + звонок... зачем? 4) одним из первых, что я хотел бы реализовать, является возможность модифицировать имеющиеся / добавлять новые классы с использованием "стандартизованных" механизмов... 5) если будем писать сервер для дозвона, то можем попутно написать классы и для связи минуя БС. Итак то, что я сейчас хочу: 1) заменить встроенный пакет j3d полностью; 2) получить возможность исп. телефон как сервер для входящих вызовов ( + связь минуя БС ); 3) подключить через mini - usb или любой другой интерфейс клавиатуру без использования внешнего электронного преобразователя. Мысли по поводу "стандартизации": 1) В Java коде создаётся буфер и в него заносятся машинные комманды для ARM процессора; 2) Вызывается предварительно написанный на ARM коде метод, который принимает в качестве первого параметра полное имя создаваемого / заменяемого метода, в качестве второго параметра выступает вышеуказанный буфер и в качестве третьего параметра указывается следует ли заменять уже существующий метод ( если таковой имеется ) и является ли создаваемый метод ( если он именно создаваемый ) временным. Поддержку временных методов и возможность загрузки целых пакетов внесём позднее. Можно подумать также насчёт небольшой поддержки буфера с данными типа "ARM ассемблер" ( для справки: ассемблер - символьное представление машинного языка ). Если будет создан предложенный или любой др. подобный ему механизм, то можно будет написать сколь угодно сложное приложение в оболочке Java ( только бы аппаратная часть телефона поддерживала вашу задумку ). Так что сейчас предлагаю всем сосредоточить свои силы именно на реализации подобной "стандартизации" для Java приложений. |
Vilko |
![]() |
![]() Мотокодер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Легенды MotoFan.Ru Сообщений: 1 331 Регистрация: 23.6.2003 Из: Москва Пользователь №: 71 Модель телефона: E398+, Е1000, ... Рейтинг: 1116 ![]() |
Nick-85,
не проще сделать API среды и установку/подгрузку бинарных программ аналогично ява-программам? |
Inlined |
![]() |
![]() Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 91 Регистрация: 5.9.2005 Из: Санкт-Петербург Пользователь №: 50 635 Модель телефона: E398, DEFY Рейтинг: 73.5 ![]() |
Vilko,
как ты думаешь, легко ли сложно ли будет найти способ управляемо запускать свой arm-код на телефоне без компьютера? если сейчас нельзя (нельзя ведь, да??), то остается искать какие-то ошибки в прошивке (например, переполнение стека), которые позволять его запускать. у тебя есть что-то такое на примете? ;-) |
Nick-85 |
![]() |
Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 60 Регистрация: 7.8.2005 Пользователь №: 48 017 Модель телефона: Motorola C380 Рейтинг: 5.5 ![]() |
To Vilko:
Только если загрузку кода и данных в память можно "взвалить" на API функции прошивки, иначе нет. То же с динамическим выделением памяти. Написать-то можно сколь угодно много ARM кода, но вот отлаживать... Впрочем меня устраивает любой вариант позволяющий запускать ARM код на mobile. Мысли по поводу сделать API среды и установку/подгрузку бинарных программ аналогично ява-программам: Изменять основной интерфейс сотового у меня желания нуль... А вот пользовательское приложение, для обеспечения загрузки в память и выполнения исполняемых программ, на Java, кот. использует native - методы выглядит более привлекательным для меня сейчас... В любом случае: Какой формат исполняемых файлов с ARM кодом вы хотите использовать? ( желательна ссылка ) Какие методы прошивки допустимо использовать для обеспечения загрузки в память и выполнения исполняемых программ? Компиляторы, отладчики под ARM процессоры уже есть? ( желательны ссылки ) |
Vilko |
![]() |
![]() Мотокодер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Легенды MotoFan.Ru Сообщений: 1 331 Регистрация: 23.6.2003 Из: Москва Пользователь №: 71 Модель телефона: E398+, Е1000, ... Рейтинг: 1116 ![]() |
Nick-85,
Цитата Какой формат исполняемых файлов с ARM кодом вы хотите использовать? ( желательна ссылка ) желательно конечно .elf - но это уже линух из прошивки делать надо :)) Цитата Какие методы прошивки допустимо использовать для обеспечения загрузки в память и выполнения исполняемых программ? ну буквально в память-то грузить их не надо - флешка и так является частью память. нужно только определять адрес программы в флексе и передавать ей управление. для выделения оперативки и работы с флексами есть стандартное апи операционки телефона. Цитата Компиляторы, отладчики под ARM процессоры уже есть? ( желательны ссылки ) есть. например http://www.lauterbach.com/frames.html |
hobbit19 |
![]() |
|
![]() квант истории ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 043 Регистрация: 1.4.2005 Из: Рязань Пользователь №: 39 980 Модель телефона: (M)oTorola Прошивка: testing/unstable ![]() Рейтинг: 739.5 ![]() |
Цитата(Inlined @ Среда, 2 Ноября 2005, 17:44) Vilko, как ты думаешь, легко ли сложно ли будет найти способ управляемо запускать свой arm-код на телефоне без компьютера? если сейчас нельзя (нельзя ведь, да??), то остается искать какие-то ошибки в прошивке (например, переполнение стека), которые позволять его запускать. у тебя есть что-то такое на примете? ;-) Nick-85 да а если поискать и вправду ошибки на переполнение?)) например если ты всеравно будешь копать ява обработчик может обнаружишь в нем ошибки они я думаю должны быть ведь ява обработчик отличаеться сидя по производительности в 364 365 366 368 сериях)) и при работе с явой в 364 серии перезагрузка тела была чаще например для сименсов отрыл мидлет посволяющий при помощи вызова переполнения менять чето у них чего конкретно не столь важно но принцып думаю тотже))
| |
Nick-85 |
![]() |
Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 60 Регистрация: 7.8.2005 Пользователь №: 48 017 Модель телефона: Motorola C380 Рейтинг: 5.5 ![]() |
To Vilko:
Vilko - желательно конечно .elf - но это уже линух из прошивки делать надо ) У формата исполняемых файлов, кот. поддерживает прошивка название есть? Что такое flex? Vilko - ну буквально в память-то грузить их не надо - флешка и так является частью память. Vilko - нужно только определять адрес программы в флексе и передавать ей управление. Vilko - для выделения оперативки и работы с флексами есть стандартное апи операционки телефона. А зачем тебе явно память выделять загрузчиком исполняемых файлов, если ты передаёшь управление программе, кот. сама может использовать стандартное апи операционки телефона? Весь загрузчик исполняемых файлов мне сейчас видится так: mov reg01, param1 mov reg02, param2 mov reg..., param... call seg:offset "функция получения адреса в flex загружаемой программы " call reg01 ;reg01 = seg:offset "функция получения адреса в flex загружаемой программы " при достаточном желании можно даже ручками в машинных кодах... Почему сам не напишешь? Какой конкретно ARM код вы хотели бы получить? Vilko - смотря кто "вы" я так и сам могу любой нужный мне получить. нужно задачу ставить и реализовать ее, а не "код получать"... Тогда ставим задачу так: Vilko, предлагаю тебе составить на ARM - ассемблере или любом псевдо языке код мини загрузчика с обязательным указанием всех задействованных адресов. Если полученный код по объёму будет приближен к рассмотренному псевдо коду, то можно будет собрать машинный код и ручками. To hobbit19: Для всех Java приложений проверяются проверки выход индекса за границу массива, проверки на возможность переполнение стека и т.п. Так что, если и можно устроить переполнение, то только общее для телефона :), а предугадать при нём передачу управления на твой буфер с ARM кодом очень сложно. Да это сейчас и не требуется - исполняемый код и так уже можно пытаться запустить ( да Vilko :) ? ). |
Vilko |
![]() |
![]() Мотокодер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Легенды MotoFan.Ru Сообщений: 1 331 Регистрация: 23.6.2003 Из: Москва Пользователь №: 71 Модель телефона: E398+, Е1000, ... Рейтинг: 1116 ![]() |
Цитата(Nick-85 @ Четверг, 3 Ноября 2005, 13:07) прошивка пока не поддерживает никаких исполнимых файлов, о чем ты? Цитата А зачем тебе явно память выделять загрузчиком исполняемых файлов, если ты передаёшь управление программе, кот. сама может использовать стандартное апи операционки телефона? я это и имел ввиду. по поводу написания кода - это-то сделать недолго. надо составить полное описание апи для определенной версии прошивки,ибо увы точки входа меняются. и для написания своих запускаемых программ придется делать перемещаемый код или систему fixup'ов по типу той что в PE реализована. |
Nick-85 |
![]() |
Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 60 Регистрация: 7.8.2005 Пользователь №: 48 017 Модель телефона: Motorola C380 Рейтинг: 5.5 ![]() |
To Vilko:
Vilko - по поводу написания кода - это-то сделать недолго. надо составить полное описание апи для определенной версии прошивки,ибо увы точки входа меняются. и для написания своих запускаемых программ придется делать перемещаемый код или систему fixup'ов по типу той что в PE реализована. А просто проверить точки входа на наличие требуемого в них ARM кода? Или в зависимости от версии прошивки заполнять непосредственными адресами указатели на API функции прошивки? Для начала предлагаю просто реализовать возможность запуска ARM кода с обеспечением возможности доступа из него к клавиатуре и видеобуферу :)... Переменные - указатели на API функции прошивки можно разместить в динамической памяти, тем самым обеспечив предположительно безболезненную расширяемость "безопасно" доступных ARM коду API функций прошивки... и лет эдак через 100 получим "полное описание апи для определенной версии прошивки". В начале подобного блока памяти можно указать: идентификатор "безопасной" оболочки для API функций прошивки, её версия, число поддерживаемых фунций, смещение от начала блока непосредственно данных с указателями на API функции прошивки... для любителям геморра тоже раздолье - они могут добавить туда символьные массивы с названием поддерживаемых API функций прошивки, символьные массивы с названием поддерживаемых прошивок. Естественно, перед непосредственной передачей управления на ваш ARM код, выполняется инициализация всего этого "добра". Всё это к тому, что "добро" это и код его инициализации можно компоновать и с основным ARM кодом. Если всё это реализует загрузчик, то просто передадим через ригистр основному ARM коду адрес подобного блока. Итак, стандартизуем блок данных с указателями на API функции прошивки. struct DATA_BLOCK{ // sizeof( int ) = 4 байта int identifier; int os_version; int num_API_functions; // количество указателей на API функции прошивки int offset; // смещение относительно начала блока данных данных с указателями на API функции прошивки // кто что ещё хочет добавить или изменить? }; в OS Code: mov reg01, seg DATA_BLOCK mov reg02, offset DATA_BLOCK непосредственно в желаемом к исполнению ARM коде: mov seg_DATA_BLOCK, reg01 // сохраняем сегмент адреса mov offset_DATA_BLOCK, reg02 // сохраняем смещение адреса Для начала предлагаю реализовать возможность доступа к клавиатуре mobile и возможность прямого доступа к видеобуферу ( последнее также предлагаю записать в указанном ранее блоке - seg:offset ). Что скажешь, Vilko? |
Vilko |
![]() |
![]() Мотокодер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Легенды MotoFan.Ru Сообщений: 1 331 Регистрация: 23.6.2003 Из: Москва Пользователь №: 71 Модель телефона: E398+, Е1000, ... Рейтинг: 1116 ![]() |
Nick-85,
вполне реально. можешь начинать. только забудь слово seg ;) теперь нужно брать дизасм - и искать эти самые АПИ :) |
Nick-85 |
![]() |
Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 60 Регистрация: 7.8.2005 Пользователь №: 48 017 Модель телефона: Motorola C380 Рейтинг: 5.5 ![]() |
To Vilko:
И параллельно пишем каркас API miniOS на ARM - ассемблере. А нельзя ли всё требуемое для поиска адресов желаемых к исполнению функций API прошивки прямыми www - ссылками ? Как я понял для решения поставленной задачи оптимально использовать ARM дизассемблер RealView ? Какую версию прошивки будем пытать ? С каких адресов, с твоей точки зрения, целесообразно начать поиск адресов функций API прошивки для работы с клавиатурой ? Известно тебе что-либо о наличии в прошивках изначально общедоступного клавиатурного буфера ? Если производить анализ кода native - методов, то можно ли сейчас найти их конкретные адреса или потребуется "перелопачивать" их все "скопом" ? Ты говорил, что знаешь адрес функции прошивки которая, отвечает за шифрование данных в случае троекратного неверного введения sim - кода ? Если произвести поиск от начала прошивки по команде перехода на этот адрес, то можно выйти на функцию обеспечивающую получение данных от пользователя ( именно номер sim карты ). В идеале она будет практически в начале небольшого цикла практически "ровно" перед командами cmp, либо перед вызовом функции и одной командой cmp - если корректность введённых данных проверяет др. подпрограмма. Вообщем, ссылочку на RealView ( если это подходящий ARM дизассмеблер ) можно ? И желательно прямую ссылочку на желаемую к "разбору" прошивку. |
Oktan |
![]() |
![]() МотоПисака ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 420 Регистрация: 2.4.2004 Из: Краснодар Пользователь №: 2 916 Модель телефона: L7 Рейтинг: 197 ![]() |
Vilko,
Пишу бред, потому что хочу спать. Итак. Имеем: возможность запускать что_угодно на телефоне минуя криптозащиту, до перезугрузки. Требуется: хотя бы отвязаться от компа. Мысль: Насколько я понимаю, снала стартует бутлоадер. Потом компот и требуха. После всякой, нам совершенно ненужной, фигни стартует прошивка. Может стоит ковырять бутлоадер на пердмет ПЕРЕНАПИСАНИЯ оного, чтобы бут сразу без лишних вопросов ЗАПУСКАЛ прошивку, минуя проверку чексумов и ключей? Ведь нужно просто повесить в нужном месте бута JUMP, который отсылал в начало прошивки. Возможные варианты ответа: 1) Бред, 2) Актан, иди спать! 3) Дай и мне затянуться... 4) А мотом Мараваны захватят мир! |
Oktan |
![]() |
![]() МотоПисака ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 420 Регистрация: 2.4.2004 Из: Краснодар Пользователь №: 2 916 Модель телефона: L7 Рейтинг: 197 ![]() |
Vilko,
Хм. А вот не пойду спать! Вот еще пакетик бреда. Сам насобирал. На каком уровне реализована проверка RSA? На аппаратном? Если да, то это - false, если нет, то - trueъ. Опять же можно попытаться наставить джампов по всему процессу загрузки телефона, перепрыгивая проверку на вшивость, оставляя важные операции. Идем дальше. Проверяется ли бут на вшивость, т.е. на какую-либо "оригинальность"? т.е. допускается ли хирургическое вмешательство? Насколько я продолжаю понимать, бут запускается без проверок и уже сам запускают эту проверку разных областей и, собственно, прошивки. Если это так, то бут - ключик к решению всех проблем. Если же нет, то вообще все фигня, и надо все же идти спать! |
Vilko |
![]() |
![]() Мотокодер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Легенды MotoFan.Ru Сообщений: 1 331 Регистрация: 23.6.2003 Из: Москва Пользователь №: 71 Модель телефона: E398+, Е1000, ... Рейтинг: 1116 ![]() |
Эх, Oktan, иди все-же спать... :)))
это уже описывалось не раз. проверку подписи делает irom - встроенный в процессор ROM, с конорого начинается загрузка проца. что-то типа БИОС. он неперепрошиваем, прошивка/бут получат управление только после успешной проверки подписи. бут тоже подписан, следовательно неизменяем. и, кстати, бут стартует либо если прошивки вообще нет, либо после прошивки, когда она обнаружила при включении *# или в дальнейшем - тест-команду FLASH т.е., не смотря на свое название, ДО прошивки он не запускается... |
Oktan |
![]() |
![]() МотоПисака ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 420 Регистрация: 2.4.2004 Из: Краснодар Пользователь №: 2 916 Модель телефона: L7 Рейтинг: 197 ![]() |
Vilko,
Т.е. без взлома подписи прошивки ничего противоестественного сделать нельзя, т.к. секурити обеспечена на железном уровне? |
dion |
![]() |
![]() /dev/null ![]() Группа: System Administrators Сообщений: 528 Регистрация: 21.12.2004 Из: Kiev, Ukraine Пользователь №: 28 801 Модель телефона: E680i, C380 Рейтинг: 70 ![]() |
|
Osta |
![]() |
Freestyler ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Легенды MotoFan.Ru Сообщений: 10 329 Регистрация: 20.7.2004 Пользователь №: 8 235 Модель телефона: Moto Прошивка: *#9999# Настроение: Все невыспавшиеся в следующей жизни будут котами Рейтинг: 4362 ![]() |
[OFF]Нет, я всё-таки скажу.[/OFF]
Может новую тему сделаем ? Чётко под перелопачивание определённой прошивки? Тут вертиться вокруг одного всё время. У Nick-85 С380 , у Vilko тоже С650 где-то есть. Берём прошивку например R364_G_0B.D1.0BR. Там была функция fullscreen фотоcall при входящем звонке. Сравните эту прошивку со следующей где нет фулла. Говорят Моторола вносит порядка 15-20 изменений в релизы прошивок. Найти не сложно, по-идее, где изменили. А чтобы все убедились, что возможно поставить правленную прошивку, соберите такую просто изменив хотя бы один номер экстренного вызова (их в прошивке видно невооруженным глазом) 911 и прочее. Без карточки и проверю. |
Oktan |
![]() |
![]() МотоПисака ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 420 Регистрация: 2.4.2004 Из: Краснодар Пользователь №: 2 916 Модель телефона: L7 Рейтинг: 197 ![]() |
|
![]() ![]() |
Текстовая версия | Сейчас: 6.8.2025, 9:46 |
Форум живёт: