motofan logo
6 страниц V < 1 2 3 4 5 > »         
> 

Учимся Патчить Прошивку., Дисассемблируем ARM.

Arkasha18
сообщение 24.11.2005, 21:32 Закрепленное сообщение!



****

Группа: Администраторы
Сообщений: 242
Регистрация: 27.4.2004
Из: Санкт-Петербург
Пользователь №: 2

Рейтинг: 249.5



Всем привет.
И так будем учиться дисассемблировать прошивку. Тут все просто не чего сложного.

Я не буду объяснять как SHX разобрать, надеюсь все знают. Единственное условие… CG0(MemoryMap) должна быть слита с прошивкой, а то не чего не выйдет, т.е. один файл д.б.
--------------------------
ссылка на программу IDA Pro Advanced https://motofan.ru/soft/?action=view&id=246&parent=5
Запускаем IDA , выбираем файл прошивки (CG1), потом выбираем Processor type – ARMB, жмем ок.
Тут ставим галки на Create RAM section и Create ROM section.
Выставляем адреса:
RAM start address - 0x03FC0000
RAM size - 0x40000
ROM start address - 0x10080000
ROM size - 0x1F80000
Loading address - 0x10080000
Остальное оставьте так как есть.
Жмем Ок, и ждем.


По хорошему теперь еще оперативку будет правильно сделать, идем в меню:
Edit>segments>create>segment
Пишем:
Segment name – любое придумайте;
Start address - 0x12000000
End address - 0x12800000
Base – 0

Теперь переходи на сегмент ROM (жмем на Клаве ”g” пишем 10080000, должны перескочить на 10080000 адрес ).
Объявляем dword (жмем Alt-D, потом на кнопку Double word).
у меня это вылезло это
Код

ROM:10080000                 DCD 0x10BCD3D0

Появилось (оранжевым цветом).
Теперь жмем "O" (Буква латинская О ), должен появиться указатель на точку входа
у меня это вылезло это
Код

ROM:10080000                 DCD byte_10BCD3D0

Встаем на этот (byte_10BCD3D0) адрес курсором и жмем на Enter или просто двойной щелчок мышкой по этому адресу, вы перепрыгнете на адрес (10BCD3D0).

И так мы сейчас на 10BCD3D0.
Теперь сморим. ARM умеет работать в 2х режимах:
ARM - режим 32хразрядных опкодов и
THUMB - режим 16тиразрядных опкодов.
Для самой иды режим задается младшим битом адреса опкода.
т.е. если адрес например был бы 10A01D18 - то это был бы опкод в режиме ARM по адресу 10A01D18
а если адрес 10A01D19 то это опкод по адресу 10A01D18 в режиме THUMB
в ARM режиме набор команд более гибкий, но в THUMB за 1 цикл выполняется 2 команды - он быстрее.

Это мне так Vilko объяснял…я конечно же не Х.. не понял, так что буду говорить своими словами.
Нам сейчас надо задать ИДЕ режим в котором мы будем работать.
Мы стоим на адресе 10BCD3D0, если мы посмотрим на этот адрес в двоичной системе исчисления, то будет видно что это 000100000101111001101001111010000, так вот если последний байт – 0, то значит режим ARM, а если 1 – THUMB.
Теперь говорим идее в каком мы режиме будем работать:
Если THUMB то надо встать на один адрес выше, т.е если стояли например на 10BCD3CF этот адрес говорит что режим THUMB, значит встаем на один адрес выше (10BCD3CE) и
жмем (Alt+G) , выбираем ”T”,а в поле Value ставим 1 (режим THUMB).

А если мы бы определили что режим ARM, то на один адрес выше вставать не надо! Просто на этом же адресе жмем (Alt+G) , выбираем ”T”,а в поле Value ставим 0 (режим ARM).

И так…фух…устал уже (
У меня получилась такая картина:
Код

ROM:10BCD3CC                 DCB 0xE7; ч
ROM:10BCD3CD                 DCB 0xF9; •
ROM:10BCD3CE                 DCB    0;  
ROM:10BCD3CF                 DCB    0;  
ROM:10BCD3D0                 CODE32
ROM:10BCD3D0 byte_10BCD3D0   DCB 0xE3        ; DATA XREF: ROM:10080000 o
ROM:10BCD3D1                 DCB 0x21; !
ROM:10BCD3D2                 DCB 0xF0; Ё
ROM:10BCD3D3                 DCB 0xD1; T

У меня режим ARM !
Теперь встаем курсором на ROM:10BCD3D0 и жмем на Клаве ”c” (объявляем код). (кнопку С надо давить на адресе, около которого появилсяь надпись CODE16 или CODE32 в зависимости от режима )
Должен появиться АСМ примерно такого плана.
Код

M:10A01DA4; ---------------------------------------------------------------------------
ROM:10A01DA4                 CODE16
ROM:10A01DA4                 LDR     R1, =0x28880020; DATA XREF: ROM:10BCD424o
ROM:10A01DA6                 LDR     R0, =0x2201
ROM:10A01DA8                 PUSH    {R4,R5,R7,LR}
ROM:10A01DAA                 STMIA   R1!, {R0}
ROM:10A01DAC                 LDR     R0, =0x3011
ROM:10A01DAE                 MOV     R5, #0
ROM:10A01DB0                 STR     R0, [R1]
ROM:10A01DB2                 MOV     R0, #3
ROM:10A01DB4                 ADD     R1, #4
ROM:10A01DB6                 LSL     R0, R0, #0x11
ROM:10A01DB8                 STMIA   R1!, {R0,R5}
ROM:10A01DBA                 MOV     R0, #0

Собственно и все…дальше только остается объявлять код (вызов unk_address)…..и менять режим….режим меняется только после оператора BX.

Ссылка на литературу по ARM.
Краткий справочний по командам ARM. (Это от ARM9 в нашем ARM7 многих команд нет, учтите это)

P.S.
Задавайте вопросы, я понимаю что не чего не понятно, так что не стесняйтесь.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
KQ_44
сообщение 2.6.2006, 13:29


Опытный
***

Группа: Пользователи
Сообщений: 115
Регистрация: 2.3.2005
Из: Киев
Пользователь №: 37 969
Модель телефона: C650=>E1

Рейтинг: 10.5



Vilko,
Согласен!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
arnoldus
сообщение 6.6.2006, 19:39


Новичок
*

Группа: Пользователи
Сообщений: 14
Регистрация: 23.3.2006
Пользователь №: 75 522
Модель телефона: 650
Прошивка: 365R-06

Рейтинг: 0



KQ_44 ты говорил о дисплее не можешь подробнее разъяснить где там это хозяйство?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
KQ_44
сообщение 8.6.2006, 15:14


Опытный
***

Группа: Пользователи
Сообщений: 115
Регистрация: 2.3.2005
Из: Киев
Пользователь №: 37 969
Модель телефона: C650=>E1

Рейтинг: 10.5



arnoldus,
Извини, немного подзабыл.
Это по поводу "сколько на сколько дисплей"?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
arnoldus
сообщение 10.6.2006, 11:49


Новичок
*

Группа: Пользователи
Сообщений: 14
Регистрация: 23.3.2006
Пользователь №: 75 522
Модель телефона: 650
Прошивка: 365R-06

Рейтинг: 0



да, про него
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
KQ_44
сообщение 13.6.2006, 10:29


Опытный
***

Группа: Пользователи
Сообщений: 115
Регистрация: 2.3.2005
Из: Киев
Пользователь №: 37 969
Модель телефона: C650=>E1

Рейтинг: 10.5



arnoldus,
Хорошо, я гляну и сегодня/завтра скажу.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
KQ_44
сообщение 15.6.2006, 11:53


Опытный
***

Группа: Пользователи
Сообщений: 115
Регистрация: 2.3.2005
Из: Киев
Пользователь №: 37 969
Модель телефона: C650=>E1

Рейтинг: 10.5



arnoldus,
Извини, не досмотрел. Уж очень все в прошивке запутано.
Каких-либо процедур по чтению разрешения экрана из железа, как говорил Vilko, так и не нашел.
Зато нашел разрешение прописанным в прошивке, причем для GUI и Java отдельно.
100%-й гарантии дать конечно не могу, надо пробовать.
Если есть желание это делать - пиши!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
arnoldus
сообщение 1.7.2006, 13:55


Новичок
*

Группа: Пользователи
Сообщений: 14
Регистрация: 23.3.2006
Пользователь №: 75 522
Модель телефона: 650
Прошивка: 365R-06

Рейтинг: 0



да, кинь все что относится к этому, а опрос железа тут не катит, всетаки мелкая система, и под каждое устройство драйвер пишется индивидуально и они все в проше
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
KQ_44
сообщение 12.7.2006, 15:04


Опытный
***

Группа: Пользователи
Сообщений: 115
Регистрация: 2.3.2005
Из: Киев
Пользователь №: 37 969
Модель телефона: C650=>E1

Рейтинг: 10.5



arnoldus,
Извини, просто упустил момент, когда появилось твое сообщение.
Так просто сбросить не могу - надо риал-тайм где-нить в чате. :(
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
NeOXiN
сообщение 17.7.2006, 12:17


Новичок
*

Группа: Пользователи
Сообщений: 18
Регистрация: 17.6.2006
Из: Україна
Пользователь №: 88 084
Модель телефона: c650 почти смартфон
Прошивка: Постоянной пока нету

Рейтинг: 0



Ребята, а где взять справочник по ассемблерным командам - ведь ассемблер компа отличается от телефонного.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
lonely_poet
сообщение 17.8.2006, 13:59


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

Группа: Пользователи
Сообщений: 53
Регистрация: 16.12.2004
Пользователь №: 27 531
Модель телефона: C650
Прошивка: R365_G_0B.D2.32R

Рейтинг: 8



Кому интересно, даю прямой линк на BinEdit
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
arnoldus
сообщение 31.8.2006, 17:35


Новичок
*

Группа: Пользователи
Сообщений: 14
Регистрация: 23.3.2006
Пользователь №: 75 522
Модель телефона: 650
Прошивка: 365R-06

Рейтинг: 0



KQ_44 пиши в асю
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Rahanz
сообщение 22.9.2006, 15:42


Новичок
*

Группа: Пользователи
Сообщений: 24
Регистрация: 23.2.2006
Пользователь №: 71 601
Модель телефона: c380 + e398
Прошивка: r365_2.24r+373_49r

Рейтинг: 0



1. а никто не находил координат часов (цифровых нам мнтересно)?

2. и собсвенно процедуры печати этих самых часов ?

3. никто так и не начал комментировать найденные процедуры в прошивке для облегчения народных мучений ???
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
mutacipa
сообщение 2.1.2007, 23:46


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

Группа: Пользователи
Сообщений: 52
Регистрация: 29.7.2006
Из: г. Мариуполь
Пользователь №: 93 127
Модель телефона: E1
Прошивка: Mpx398_DeLuxe

Рейтинг: 3



Помогите пожалуйста! Вот решил разковырять прошивку 12I, но не могу деассамблировать... Делаю всё как написано в статье, но у меня появляется по адресу 10080000 после объявления
Код
double word: ROM:10080000                 DCD 0x50324B20
Что делать? Слил cg1 правильно...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
GandjaFuzz
сообщение 3.1.2007, 0:51


Motofuzzer
*****

Группа: Почётные мотофаны
Сообщений: 619
Регистрация: 12.12.2004
Пользователь №: 26 583
Модель телефона: ZN5 T-Mobile
Прошивка: 2CR_128
Победитель конкурса 2008

Рейтинг: 1080



mutacipa,
скачай скрипт на 1-ой странице
запусти его ида всё сама за тебя сделает...
и да сг1 надо сливать с мемори мап
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
mutacipa
сообщение 3.1.2007, 11:42


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

Группа: Пользователи
Сообщений: 52
Регистрация: 29.7.2006
Из: г. Мариуполь
Пользователь №: 93 127
Модель телефона: E1
Прошивка: Mpx398_DeLuxe

Рейтинг: 3



GandjaFuzz,
так я делал как написано! В начале отделил CG1(SHXCodec, убрал галочку с "Separate"), ввёл все адреса, а в итоге появляется что то другое sad.gif А так хочу разобраться в прошивке! Есть какие нибудь книги по IDA?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
~Gangs2er~
сообщение 3.1.2007, 15:55


MotoSkinner
****

Группа: Разработчики
Сообщений: 248
Регистрация: 4.8.2006
Из: Екатеринбург
Пользователь №: 93 787
Модель телефона: (M) E398
Прошивка: У вас такой нету))

Рейтинг: 217.5



Цитата(lonely_poet @ Четверг, 17 Августа 2006, 15:59)
Кому интересно, даю прямой линк на BinEdit
*


А инуструкшн по этой проге кто нить дайте!!!! smile.gif Буду очень благодарен!!!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
~Gangs2er~
сообщение 3.1.2007, 17:35


MotoSkinner
****

Группа: Разработчики
Сообщений: 248
Регистрация: 4.8.2006
Из: Екатеринбург
Пользователь №: 93 787
Модель телефона: (M) E398
Прошивка: У вас такой нету))

Рейтинг: 217.5



ХМ! ужо не надо вот если кому надо ссылочку интерестную!!! http://sobakator.samsfan.ru
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dzhek
сообщение 3.1.2007, 18:13


МотоРокер
****

Группа: Пользователи
Сообщений: 158
Регистрация: 3.5.2005
Из: Земля,Россия,Москва.
Пользователь №: 41 774
Модель телефона: E2,V360
Прошивка: MAXX E2

Рейтинг: 80.5



А что даст нам эта деассамблириация или как там правельно сказать. smile.gif

Извините за вопрос,просто хочу начать получать полезные знания и что нибудь собрать smile.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
~Gangs2er~
сообщение 3.1.2007, 18:48


MotoSkinner
****

Группа: Разработчики
Сообщений: 248
Регистрация: 4.8.2006
Из: Екатеринбург
Пользователь №: 93 787
Модель телефона: (M) E398
Прошивка: У вас такой нету))

Рейтинг: 217.5



dzhek, читай тему с первой страницы и вниикай!!!! smile.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Алекс75
сообщение 3.2.2007, 20:59


Мото-реаниматор
******

Группа: Почётные мотофаны
Сообщений: 1 188
Регистрация: 29.12.2004
Пользователь №: 30 882
Модель телефона: XT502
Прошивка: Android 2.2
Победитель конкурса 2008

Рейтинг: 763



Кстати поделитесь ссылками на полезные ресурсы по программированию на асме smile.gif Желательно для не особо продвинутых в этом вопросе юзеров sad.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
sasha45
сообщение 16.2.2007, 16:04


Ветеран
*****

Группа: Пользователи
Сообщений: 580
Регистрация: 13.7.2005
Из: Санкт-Петербург
Пользователь №: 46 095
Модель телефона: Motorola RIZR Z3

Рейтинг: 56



А может кто-нибудь дать адреса для 4513_....ABR?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
IronMaster
сообщение 21.2.2007, 7:18


Новичок
*

Группа: Пользователи
Сообщений: 1
Регистрация: 21.2.2007
Пользователь №: 123 400
Модель телефона: SonyEricsson K700
Прошивка: R2CA001

Рейтинг: 0



Алекс75,
Программная среда ARM (с) Mnemo
Вот довольно интересная дока на русском языке
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
sasha45
сообщение 27.2.2007, 15:59


Ветеран
*****

Группа: Пользователи
Сообщений: 580
Регистрация: 13.7.2005
Из: Санкт-Петербург
Пользователь №: 46 095
Модель телефона: Motorola RIZR Z3

Рейтинг: 56



Скажте пожалуйста, делая все по инструкции у меня появляется странная вещь (см. изобр), это так и должно быть или нет?
Прикрепленное изображение
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 3.3.2007, 9:44


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

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

Рейтинг: 1116



sasha45,
да, лолжно
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
sasha45
сообщение 3.3.2007, 16:03


Ветеран
*****

Группа: Пользователи
Сообщений: 580
Регистрация: 13.7.2005
Из: Санкт-Петербург
Пользователь №: 46 095
Модель телефона: Motorola RIZR Z3

Рейтинг: 56



Vilko, спасибо большое. А можно еще один вопрос, как среди этого узнать что делает тот или другой кусок кода?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 9.3.2007, 20:30


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

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

Рейтинг: 1116



sasha45,
обычно - тщательно его(тот или иной кусок) изучив wink.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
КотенокСоШрамом
сообщение 14.4.2007, 20:50


Новичок
*

Группа: Пользователи
Сообщений: 15
Регистрация: 3.4.2007
Пользователь №: 129 645
Модель телефона: Motorola C 550
Прошивка: SE4381AXXU1038

Рейтинг: 0



Всем привет... Есть предложение - написать эмулятор AMR процессора на Delphi... Довольно нетрудная задача, учитывая то, что вся инфа из телефона в прошивке, т.е. сэмулировать работу телефона можно вполне, то есть хотя бы загрузку (я так понимаю она начинается с точки входа?) и т.д. Единственное - все это будет вслепую, т.е. эмуляция проца с данными телефона будет, но содержимое экрана телефона не будет видно, т.к. неизвестна область памяти, отвечающая за содержимое экрана... Дальше - просканировать область данных на предмет видеопамяти (просто тупо строить изображения и искать в них нечто осмысленное). Что касается анализа точек входа прерываний клавы (если такие там есть) - после поиска видеопамяти такое тоже реально... Да и дизассемблер сделать тоже можно - не пара пустяков конечно, но решаемо. В принципе и не обязательно - можно параллельно IDA юзать. А из этой затеи можно разматывать клубок - находить конкретные функции тела, как например реализацию шрифтов, вывода различной беды типа даты, опсоса и т.п. (контроллируя обращения опкодов к видеопамяти). Возьмемся? ICQ 214781655

Добавлено позже (14.4.2007, 20:51):
Всем привет... Есть предложение - написать эмулятор AMR процессора на Delphi... Довольно нетрудная задача, учитывая то, что вся инфа из телефона в прошивке, т.е. сэмулировать работу телефона можно вполне, то есть хотя бы загрузку (я так понимаю она начинается с точки входа?) и т.д. Единственное - все это будет вслепую, т.е. эмуляция проца с данными телефона будет, но содержимое экрана телефона не будет видно, т.к. неизвестна область памяти, отвечающая за содержимое экрана... Дальше - просканировать область данных на предмет видеопамяти (просто тупо строить изображения и искать в них нечто осмысленное). Что касается анализа точек входа прерываний клавы (если такие там есть) - после поиска видеопамяти такое тоже реально... Да и дизассемблер сделать тоже можно - не пара пустяков конечно, но решаемо. В принципе и не обязательно - можно параллельно IDA юзать. А из этой затеи можно разматывать клубок - находить конкретные функции тела, как например реализацию шрифтов, вывода различной беды типа даты, опсоса и т.п. (контроллируя обращения опкодов к видеопамяти). Возьмемся? ICQ 214781655

Добавлено позже (14.4.2007, 21:04):
Хы... В лучшем случае в видеопамяти найдем "Вставьте сим-карту" :))) Ато и вообще POST какой-нить телефонный не пройдет... Удаляйте :)

Добавлено позже (14.4.2007, 21:04):
Хы... В лучшем случае в видеопамяти найдем "Вставьте сим-карту" :))) Ато и вообще POST какой-нить телефонный не пройдет... Удаляйте :)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
КотенокСоШрамом
сообщение 15.4.2007, 2:13


Новичок
*

Группа: Пользователи
Сообщений: 15
Регистрация: 3.4.2007
Пользователь №: 129 645
Модель телефона: Motorola C 550
Прошивка: SE4381AXXU1038

Рейтинг: 0



Ладно, уж коли начал писанину, то наверное буду продолжать предлагать :) Предлагаю распотрошить прошивку на уровни абстракций... То есть в коде проанализировать какие процедуры из каких процедур вызываются, и выделить слои абстракций - нижние слои, и дальше - выше. По аналогии с Win API, потому что... Потому что так и есть на самом деле скорее всего...

Добавлено позже (15.4.2007, 2:25):
А для этого надо бы скооперироваться и сделать общую базу знаний, чтобы процедуры именовать (т.е. разобрался человек, что процедура делает - и отписал, а остальные пользуются). Кстати, еще вопрос - вот мы тут вроде как от точки входа плясать собрались, только как разобраться с проверкой сим-карты и возможно с диагностикой телефона на этапе загрузки?.. Хммм... Я думаю для конкретного тела нужно посмотреть схему, посмотреть как там порты проца завязаны с остальной... хм.. периферией... И искать подпрограммы обмена данными. Кстати, от этого тоже можно будет плясать - можно по опкодам вывода в порт и операндам будет определять, кому и куда скидывается инфа... Плюс опять же, есть в этой беде таблица векторов прерываний или нет?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VEG
сообщение 17.4.2007, 11:08


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

Группа: Пользователи
Сообщений: 51
Регистрация: 8.6.2006
Из: Беларусь
Пользователь №: 86 824
Модель телефона: C380

Рейтинг: 0



КотенокСоШрамом,
Идея конечно хорошая, но нужны люди, чтобы ее реализовать. Было бы неплохо иметь полный эмулятор наших телефонов smile.gif
Кстати, есть ведь эмуляторы процессоров arm. Я правда не нашел с исходниками... надо еще поискать.
Надо будет додумать как реализовать эмуляцию аппаратной части телефонов.









Osta
эмулятор тут был http://www.lauterbach.com/pro_arm.html

Сообщение отредактировал Osta - 17.4.2007, 11:34
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
КотенокСоШрамом
сообщение 17.4.2007, 15:43


Новичок
*

Группа: Пользователи
Сообщений: 15
Регистрация: 3.4.2007
Пользователь №: 129 645
Модель телефона: Motorola C 550
Прошивка: SE4381AXXU1038

Рейтинг: 0



Это все ерунда... Эмулятор процессора ARM я и сам напишу, только пользы от этого не будет никакой, потому что остальной аппаратной части нет, ну не вариант ее сделать... Хотя, это еще как посмотреть :) Есть схемы, есть практически все, но нужна маркировка всех чипов, нужны их прошивки (если я прально понял - ARM это только управляющий контроллер). Сим карта опять же... Идея на самом то деле гиблая. Как и гиблая идея 13 Мб машинного кода реверснуть одному человеку.
А предложение мое - конкретно такое - посмотреть схему тела и выяснить, как должна быть организована адресация в прошивке например при выводе на EDGE/GPRS, найти команды в коде, и ухватившись за эту ниточку, размотать, и разобраться в участке кода, отвечающем за вывод через GPRS.
Кстати, если прошивка пишется на си, почему б не применить декомпилятор си... Если таковой для ARM имеется. Все проще бы было.

Впрочем, меня щас этот вопрос мало интересует - я уж лучше себе L7e возьму... Что-то не хочу я в E-398 за какие-то 3.500 р разницы EDGE искать. Не факт ведь что есть? Скупой платит дважды.

Сообщение отредактировал GrAnd_ - 28.7.2007, 13:46
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
lenin2004
сообщение 18.4.2007, 13:08


Мастер
****

Группа: Пользователи
Сообщений: 197
Регистрация: 6.4.2006
Из: Новосибирск
Пользователь №: 77 563
Модель телефона: Motorola EM30
Прошивка: R6716_G_71.04.06R_C

Рейтинг: 14



Цитата(КотенокСоШрамом @ 17.4.2007, 22:43) *

Есть схемы, есть практически все, но нужна маркировка всех чипов, нужны их прошивки (если я прально понял - ARM это только управляющий контроллер).

Да, ARM это "проц". Флешпамять можно принимать одновременно за "винт" и "оперативку" (это я простым языком, по аналогии с железом ПК) А единственная прошивка, это то что сейчас люди и ковыряют.
Имхо: Достаточно сэмулировать проц и флешпамять, в которую собственно и прошивается прошивка в реальном телефоне. А остальная аппаратная периферия эмуляции не требует. Допустим, если в реальном телефоне отрубить питание GSM-модуля, тел просто покажет скорей всего что "Нет сети". А "Нет сети" в виртуальном телефоне на первых порах не помешает изучать прошивку.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
sasha45
сообщение 18.4.2007, 16:45


Ветеран
*****

Группа: Пользователи
Сообщений: 580
Регистрация: 13.7.2005
Из: Санкт-Петербург
Пользователь №: 46 095
Модель телефона: Motorola RIZR Z3

Рейтинг: 56



А почему именно СИМ-КАРТА? По-моему сейчас главный вопрос это "как сделать перемотку видео на Е398 и прочих"ю Ведь это важно для большинства пользователей телефонов Motorola.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
КотенокСоШрамом
сообщение 18.4.2007, 17:22


Новичок
*

Группа: Пользователи
Сообщений: 15
Регистрация: 3.4.2007
Пользователь №: 129 645
Модель телефона: Motorola C 550
Прошивка: SE4381AXXU1038

Рейтинг: 0



lenin2004:
Ну да... И правда можно написать проц и винт, и трассировать прошивку, любуюясь изменением регистров. Дошло? Посмотрите схему тела - там много всяких погремушек. Или вы думаете что проц напрямую на экран и на антенну подключен?

sasha45
Сим карта - потому что работу телефона под управлением прошивки нужно сэмулировать сначала, то есть так, как она выполняется в телефоне. А в телефоне она сначала проверяет симку, это в лучшем случае. В худшем - периферию. Слишком много всего придется эмулировать.

Добавлено позже (18.4.2007, 18:10):
ВОПРОС есть... Плиз.

Как определить в машинном коде (прошивке) обращение к биту сима? Разбираться долго, времени нету, просто ответ - так мол и так, обращение к ячейке памяти, смещение которой находтся так: [метод].

Похоже что и правда придется писать эмуль проца...

Добавлено позже (18.4.2007, 18:15):
Идея такова: найти в прошивке обращение к битам сима, отвечающим за активацию EDGE в теле. И посмотреть что из этого следует.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
lenin2004
сообщение 19.4.2007, 7:21


Мастер
****

Группа: Пользователи
Сообщений: 197
Регистрация: 6.4.2006
Из: Новосибирск
Пользователь №: 77 563
Модель телефона: Motorola EM30
Прошивка: R6716_G_71.04.06R_C

Рейтинг: 14



Цитата(КотенокСоШрамом @ 19.4.2007, 0:22) *

lenin2004:
Ну да... И правда можно написать проц и винт, и трассировать прошивку, любуюясь изменением регистров. Дошло? Посмотрите схему тела - там много всяких погремушек. Или вы думаете что проц напрямую на экран и на антенну подключен?

Если верить схеме принципиальной телефона Motorola C650, то проц с дисплеем как раз на прямую и соединяется.
Прикрепленное изображение Прикрепленное изображение
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
lenin2004
сообщение 20.4.2007, 14:29


Мастер
****

Группа: Пользователи
Сообщений: 197
Регистрация: 6.4.2006
Из: Новосибирск
Пользователь №: 77 563
Модель телефона: Motorola EM30
Прошивка: R6716_G_71.04.06R_C

Рейтинг: 14



Вот посмотрите что я откопал на просторах сети, судя по описанию это похоже на то что нам нужно. Только похоже для его запуска нужен Майкрософт Визуал Студио.
Цитата
The Device Emulator is a software simulation of a CPU and motherboard, that runs the Windows CE and Windows Mobile operating systems. The emulator is a single Windows .EXE file that contains:
A CPU emulator that executes the ARM instruction set by JIT-compiling to x86
An MMU emulator to support virtual memory and page protection
A motherboard emulator that contains emulated RAM and NOR flash memory
A collection of peripheral devices attached to the motherboard: serial ports, LCD controller, touchscreen, keyboard, interrupt controller, programmable timers, real-time-clock, network cards, audio, etc.
A ”DMA” interface which allows a Win32 application running outside the emulator to communicate with a WinCE application running inside the emulator, using a simple socket-like programming model.

Майкрософтовский эмулятор ARM

Сообщение отредактировал lenin2004 - 20.4.2007, 14:32
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
om2804
сообщение 21.4.2007, 21:58


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

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

Рейтинг: 1650



Net Framework для работы и Visual Studio для компиляции. Написано вроде бы на C#
А вот ARM я что-то в тексте не вижу. Эмулирует Windows CE и Windows Mobile

Сообщение отредактировал om2804 - 21.4.2007, 22:30
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
xaBaz
сообщение 23.5.2007, 7:45


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

Группа: Пользователи
Сообщений: 67
Регистрация: 9.5.2007
Из: Kharkov [at] UA
Пользователь №: 134 260
Модель телефона: many
Прошивка: Crossflashing_

Рейтинг: 7



Решил сделать первые шаги в ковырянии прошивки, и возникла пустяковая проблема: не могу слепить *.bin файл из прошивки.
Flash Backup ни одной из версий возможности сохранения отдельных кодовых групп в этом формате не предоставляет.
Но насколько я понял, формат *.smg ничем от *.bin не отличается.
Так ли это?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 23.5.2007, 10:33


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



Цитата(xaBaz @ Сегодня, 9:45)

Но насколько я понял, формат *.smg ничем от *.bin не отличается.
*


правильно.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
AlexKooper
сообщение 23.5.2007, 11:12


Авторитет
********

Группа: Почётные мотофаны
Сообщений: 2 838
Регистрация: 27.7.2005
Из: Йошкар-Ола
Пользователь №: 47 140
Модель телефона: E398
Прошивка: AlexKooper mod v.47

Рейтинг: 1337



Еще уточню некоторые моменты:

Цитата
Встаем на этот (byte_10BCD3D0) адрес курсором и жмем на Enter или просто двойной щелчок мышкой по этому адресу, вы перепрыгнете на адрес (10BCD3D0).

Если открыта прошивка с отключенной рса, переход может идти на СГ18, т.е. вне открытого файла. В таком случае точку входа лучше срисовать с оригинальной прошивки wink.gif


Цитата
RAM start address - 0x03FC0000
RAM size - 0x40000
ROM start address - 0x10080000
ROM size - 0x1F80000
Loading address - 0x10080000

Это для телефонов, у которых сг1 лежит по адресу 10080000
Для 4513 или 4515 платформы например нужно так:
RAM start address - 0x03FC0000
RAM size - 0x40000
ROM start address - 0x10092000
ROM size - 0x1F80000
Loading address - 0x10092000
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Ohotnic
сообщение 9.7.2007, 4:45


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

Группа: Пользователи
Сообщений: 37
Регистрация: 26.5.2007
Пользователь №: 136 129
Модель телефона: RAZR V3i, Boot 0A.30
Прошивка: R4441D_G_08.03.03R

Рейтинг: 2.5



Вот вам ссылка на IDA 5.0.0.879 http://ifolder.ru/2608844
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Учимся Патчить Прошивку., Дисассемблируем ARM. · Патчи и всё для них · Forum
 

6 страниц V < 1 2 3 4 5 > » 
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 15.6.2025, 5:52

Форум живёт: