motofan logo
10 страниц V  1 2 3 > »         
> 

Учимся Патчить Прошивку! C помощью проги Binedit, Нужен Мануальчик от наших ГУРУ

~Gangs2er~
сообщение 3.1.2007, 19:02


MotoSkinner
****

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

Рейтинг: 217.5



Вот собсно, я наверное и начну-) Всем нам (Простым смертным) наверно когда нибудь хотелось поковырять прошивку-), но инетресурсов на закачку великой IDE не у многоих хватало-) например у меня-) и тут вдруг ЭТА тема ожила и я решил в неё заглянуть! И нашёл вот ЭТОТ интерестный пост, в котором и лежала эта хорошая прога, (BinEdit), весит она всего 800 килобайт и скачать её было не сложно!
Собственно теперь вопрос к нашим гуру:
Есть мануал: Учимся Дизасемблировать прошивку с помощью IDA, Может кто нибудь из Наших Многоуважаемых Программеров написать мануал наподобии (Учимся Дизасемблировать прошивку с помощью IDA), только с помощью этой проги?! Надеюсь на понимание-)!!!
С УВ Gangster smile.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 3.1.2007, 20:32


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

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

Рейтинг: 1116



бин-едит - не дизассемблер. им можно менять двоичные данные, и только. что-то изучать и анализировать - на данный момент только в IDA
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
~Gangs2er~
сообщение 3.1.2007, 20:42


MotoSkinner
****

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

Рейтинг: 217.5



Цитата(Vilko @ Среда, 3 Января 2007, 22:32)
бин-едит - не дизассемблер. им можно менять двоичные данные, и только. что-то изучать и анализировать - на данный момент только в IDA
*


Блин, а жаль-)) То есть им менять нелязя вообще ничего-))) А может начать с него всётаки?! smile.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Motohobiman
сообщение 3.1.2007, 22:05


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

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


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



Рейтинг: 908



Мда,Ида мне не светит с таким трафом тоже...Бинарником 'патчить' можно, тока перед этим адресса процедур и.т.п. нужно в Иде искать... Интересно как Electro255 так лихо всё замутил,блин в асме мегабайт кода - тысячи страниц текста,гений наверное... 2 Vilko, скажи пожалуйста ,насколько сильны отличия в адресах кода старых моделей(е398) и новых(l7),eсть ли зависимость какая-то?И ещё существуют проблемы с подключением в p2k режиме новых телефонов в чём трабл?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
RekGRpth
сообщение 4.1.2007, 3:37


Начинающий патчер
****

Группа: Пользователи
Сообщений: 234
Регистрация: 6.11.2006
Пользователь №: 106 009
Модель телефона: RoverPC N6
Прошивка: WM 6.1

Рейтинг: 359.5



Цитата(Vilko @ Четверг, 4 Января 2007, 1:32)
бин-едит - не дизассемблер. им можно менять двоичные данные, и только. что-то изучать и анализировать - на данный момент только в IDA
*


Вот уж никак не соглашусь! Как раз дизассемблер, компилятор, отладчик,...
я им СТОЛЬКО патчей портировал на гнусмасах!
вот прикрепляю доки
Прикрепленный файл BinEditdocs.7z.rar   ( 114.76 килобайт ) Кол-во скачиваний: 1893
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
~Gangs2er~
сообщение 4.1.2007, 10:55


MotoSkinner
****

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

Рейтинг: 217.5



RekGRpth, а вот как с ним работать не мог бы объяснить???
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
bad-rustamka
сообщение 4.1.2007, 17:28


Мастер
****

Группа: Пользователи
Сообщений: 225
Регистрация: 22.3.2005
Из: Самара
Пользователь №: 39 309
Модель телефона: photon
Прошивка: cm10

Рейтинг: 88



~Gangs2er~,
а что именно не получается?? файл с прошей что ли в проге открыть?
какое-то время работал с этой прогой, но потом перешёл на иду, и не пожалел, возможностей в ней значительно больше. Если уж так хочется работать с бинедитом, задавайте вопросы, отвечу как смогу
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Dimka
сообщение 4.1.2007, 22:29


МотоКовырятель
******

Группа: Разработчики
Сообщений: 707
Регистрация: 21.3.2005
Из: Волгоград
Пользователь №: 39 255
Модель телефона: Moto X, Defy, ZN5, E2

Рейтинг: 1029



Цитата(Motohobiman @ Четверг, 4 Января 2007, 1:05)
Интересно как Electro255 так лихо всё замутил,блин в асме мегабайт кода - тысячи страниц текста,гений наверное...
*


Хе-хе. Если что - инфу elektro255 о том где что лежит в проше и как работает давал наш Vilko. smile.gif Короче все, что elektro255 сделал - он сделал за счет Vilko. wink.gif Vilko, как я понял, просто не любит заниматься патчами... Но и заслуги elektro255 я конечно не занижаю, он многое сделал!, просто Вы немного переоцениваете...

Цитата(Motohobiman @ Четверг, 4 Января 2007, 1:05)
Vilko, скажи пожалуйста ,насколько сильны отличия в адресах кода старых моделей(е398) и новых(l7),eсть ли зависимость какая-то?И ещё существуют проблемы с подключением в p2k режиме новых телефонов в чём трабл?
*


Думаю Vilko тебе ответит подробнее и правильнее, но и я могу подсказать. Адреса буду отличать совершенно, точнее ни одни не будет совпадать. Зависимости ни какой нет. Это просто зависит от того, как скомпилится прошивка или как слинкуется, так сказать. smile.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Motohobiman
сообщение 4.1.2007, 22:54


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

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


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



Рейтинг: 908



Vilko,Random для меня вообще персоны the best from all and over the top 4ever...Самое интересное,что эти люди как Человеки(в широком смысле слова) - хорошие,а это большая редкость в наше времья.Да...Жизнь прожить не поле перейти.Vilko искатель-творец вот и влом с патчами возиться ему,знает что можно и всё,ищет интересное,новое ...Нафлудил...Извините...Димка,пасиб,я то губу раскотил на патчи от Ешек;-).
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
SANYO_K
сообщение 5.1.2007, 2:34


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

Группа: Пользователи
Сообщений: 64
Регистрация: 3.1.2006
Пользователь №: 64 324
Модель телефона: ROKR E1 (E398)
Прошивка: elektro255!!! 49r

Рейтинг: 3



Я так понимаю Binedit сгодится разве что для портирования патчей?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
~Gangs2er~
сообщение 5.1.2007, 17:16


MotoSkinner
****

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

Рейтинг: 217.5



Цитата(bad-rustamka @ Четверг, 4 Января 2007, 19:28)
а что именно не получается?? файл с прошей что ли в проге открыть?
*


Да открыть собственно получается-) А вот что дальше делать???
Мне бы инструкцию как вот эту:https://motofan.ru/board/index.php?showtopic=37556&st=90&p=653748
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
RekGRpth
сообщение 11.1.2007, 15:00


Начинающий патчер
****

Группа: Пользователи
Сообщений: 234
Регистрация: 6.11.2006
Пользователь №: 106 009
Модель телефона: RoverPC N6
Прошивка: WM 6.1

Рейтинг: 359.5



Ну, инструкцию я не напишу, я же выложил её smile.gif а вот пример раскопки можно wink.gif
слил я с тела бут и прошу и решил посмотреть, что там творится smile.gif
открыл их оба в разных окнах бинедита
в буте ищу последовательность 4770 - конец функции
опа - нашёл целую кучу!
так так, посмотрим на первую:
off_00000070 ;вызывается с адреса 0x000000FA
00000070: B410 PUSH {R4} ;Сохранить регистры R4
00000072: 2000 MOV R0, #0x0 ;R0 = 0
00000074: 4975 LDR R1, =0x10092000 ;R1 = значение по адресу (PC + 468)=[0x0000024C]= 0x10092000
00000076: 1C0A MOV R2, R1 ;R2 = R1 = 0x10092000 (269033472)
00000078: 1C11 MOV R1, R2 ;R1 = R2 = 0x10092000 (269033472)
0000007A: 1C14 MOV R4, R2 ;R4 = R2 = 0x10092000 (269033472)
0000007C: 69D3 LDR R3, [R2, #0x1C] ;R3 = слово по адресу [R2 + 28 байт]
0000007E: 42A3 CMP R3, R4 ;Сравнить по R3 - R4
00000080: D000 BEQ loc_00000084 ;если равно (Z) то переход на адрес 0x00000084
00000082: E006 B loc_00000092 ;Переход по адресу 0x00000092
loc_00000084: ; Переход с адреса 0x00000080
00000084: 3104 ADD R1, #0x4 ;R1 = R1 + 4 = 0x10092004 (269033476)
00000086: 2301 MOV R3, #0x1 ;R3 = 1
00000088: 680C LDR R4, [R1] ;R4 = слово по адресу [R1]
0000008A: 2CB1 CMP R4, #0xB1 ;Сравнить R4 и 177 "±"
0000008C: D000 BEQ loc_00000090 ;если равно (Z) то переход на адрес 0x00000090
0000008E: 2300 MOV R3, #0x0 ;R3 = 0
loc_00000090: ; Переход с адреса 0x0000008C
00000090: 1C18 MOV R0, R3 ;R0 = R3 = 0x0 (0)
loc_00000092: ; Переход с адреса 0x00000082
00000092: BC10 POP {R4} ;Загрузить регистры R4
00000094: 4770 BX LR ;переход по адресу в LR
интересно, и что же она делает? других функций не вызывает, совсем простая!
!легко понять, что она читает значение по адресу 0x10092000+0x1C (а это, если глянуть в FB3 - самое начало проши CG1), которое равно 10092000 (хм... вот совпадение smile.gif) и сравнивает его с 10092000
затем считывает значение по адресу 0x10092000+4, которое равно 000000B1 и сравнивает с B1 и при условии равенства возвращает 1
что самое забавное, это (возвращение 1) происходит ВСЕГДА
блин! первая функция в буте НИЧЕГО не делает!!!
мож дальше ковырнёмwink.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Raziel_sh
сообщение 11.1.2007, 15:56


Мастер
****

Группа: Пользователи
Сообщений: 209
Регистрация: 23.2.2005
Из: Самара
Пользователь №: 37 511
Модель телефона: Em30, Defy +

Рейтинг: 155



SANYO_K
Цитата
Я так понимаю Binedit сгодится разве что для портирования патчей?

патчи портировать можно и просто в hex-редакторе smile.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
SlavUser
сообщение 2.5.2007, 9:51


Опытный
***

Группа: Пользователи
Сообщений: 138
Регистрация: 30.12.2005
Пользователь №: 63 921
Модель телефона: Motorola L6
Прошивка: R3511_G_0A.52.45R_A

Рейтинг: 14



Вот практическая задачка.
Пытаюсь портировать патч "перезагрузка вместо Software Update" c ACB_BR на 52.45_А (L6)

Вот код исходного патча
Цитата

[Patch_Info]
Firmware=R4513_G_08.B7.ACR_RB
Description=Перезагрузка телефона из меню вместо пункта "Обновление ПО"
Author="IceMan2000", портировал "xmasloff"
Version=1.1

[Patch_Code]
C11A00: F7E7FBB1

[Patch_Undo]
C11A00: B510B088


Для нужной прошивки я нашол значение B510B088 по адресу BC08F8 (или 10C408F8).
Каким-то путем я вычислил что мне нужно перейти по адресу 106D9CDE.
Т.е теперь я должен "поменять" код на что-то вроде:
..............:
10C408F8: FXXXFXXX BL off_106D9CDE ; переход по и т.д.
..............:
Что теперь записать вместо FXXXFXXX я не знаю.

Сообщение отредактировал SlavUser - 2.5.2007, 9:54
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
sasha45
сообщение 2.5.2007, 12:04


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

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

Рейтинг: 56



SlavUser, проще открыть CG1 любым HEX редактором и по нужным адресам записать нужные значения.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
AlexKooper
сообщение 2.5.2007, 12:33


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

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

Рейтинг: 1337



sasha45, так весь вопрос в том, как узнать какие значения - нужные, а именно, как в хекс-кодах будет выглядеть асм команда BL off_106D9CDE.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Keyran
сообщение 2.5.2007, 13:02


Unforgiven
*****

Группа: Пользователи
Сообщений: 448
Регистрация: 21.5.2006
Из: Ростов-на-Дону
Пользователь №: 84 134
Модель телефона: v535 & v50
Прошивка: R376_G_0E.66.13R

Рейтинг: 92.5



Вроде переход в этом случае идет не по абсолютному адресу, а по относительному. Так что выглядеть она будет по разному. Я делаю подбором, т.к. лень искать это в смещении.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
SlavUser
сообщение 2.5.2007, 13:05


Опытный
***

Группа: Пользователи
Сообщений: 138
Регистрация: 30.12.2005
Пользователь №: 63 921
Модель телефона: Motorola L6
Прошивка: R3511_G_0A.52.45R_A

Рейтинг: 14



Keyran,
Подбором это как?

F000F000,
F000F001,
..............
FxxxFyyy

так что ли?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Keyran
сообщение 2.5.2007, 15:02


Unforgiven
*****

Группа: Пользователи
Сообщений: 448
Регистрация: 21.5.2006
Из: Ростов-на-Дону
Пользователь №: 84 134
Модель телефона: v535 & v50
Прошивка: R376_G_0E.66.13R

Рейтинг: 92.5



Ну вот пример -
00354AAA: F550F8C9 BL off_000A4C40
00354ABC: F550F8C0 BL off_000A4C40
Как видишь, по разным адресам одни и те же инструкции пишутся по разному.
Вообще, BL -инструкция, котороя кроме обычного перехода, сохраняет еще и адрес возврата.
Можно заметить, что если инструкция в хексе имеет вид Fxxx Fyyy
00354ABC-00354AAA=(8c9-8c0)*2. Это выполняется для любых двух инструкций BL, ссылающихся на один адрес.
В данном случае, yyy = 000 по адресу 355С3С. Осталось найти зависимость между этим адресом, 550 и А4С40.


Сообщение отредактировал Keyran - 2.5.2007, 15:37
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 3.5.2007, 6:20


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

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

Рейтинг: 1116



команда BL выполняется так:
PC := PC + (OffsetHigh << 12) + (OffsetLow << 1)
в бинарном виде команда записывается так
1111xxxx xxxxxxxx 11111yyy yyyyyyyy
где x - это OffsetHigh а y - OffsetLow
и еще - в любых инструкциях, оперирующих с PC, значение PC берется +4 к адресу самой инструкции. внимательнее при рассчетах.

Сообщение отредактировал Vilko - 3.5.2007, 6:33
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
SlavUser
сообщение 3.5.2007, 6:33


Опытный
***

Группа: Пользователи
Сообщений: 138
Регистрация: 30.12.2005
Пользователь №: 63 921
Модель телефона: Motorola L6
Прошивка: R3511_G_0A.52.45R_A

Рейтинг: 14



Vilko,

Спасибо за подробный ответ, но не все шарят в програмировании
Не мог бы ты конкретнее немного ответить
Если я знаю адрес куда переходить то как мне узнать код команды?

типа вот такого
10C408F8: FXXXFXXX BL off_106D9CDE

Сообщение отредактировал SlavUser - 3.5.2007, 6:37
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 3.5.2007, 6:41


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

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

Рейтинг: 1116



SlavUser,
считаешь разницу адресов между командой BL +4 и адресом куда перейти.
делишь на 2
если значение меньше 2047 - просто записываешь его в OffsetLow
если больше, то делишь на 2048, результат пишешь в HighOffset, остаток - в Low
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
clipsa
сообщение 3.5.2007, 8:02


Опытный
***

Группа: Пользователи
Сообщений: 115
Регистрация: 22.8.2006
Из: Харьков
Пользователь №: 95 966
Модель телефона: Motorola E770v

Рейтинг: 77



Цитата(SlavUser @ Вчера, 12:51)

Каким-то путем я вычислил что мне нужно перейти по адресу 106D9CDE.
Т.е теперь я должен "поменять" код на что-то вроде:
..............:
10C408F8: FXXXFXXX BL off_106D9CDE ; переход по и т.д.
..............:
Что теперь записать вместо FXXXFXXX я не знаю.
*



Я же тебе писал в калькуляторе первое окно откуда второе bl 0xкуда в третьем результат
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
SlavUser
сообщение 3.5.2007, 8:33


Опытный
***

Группа: Пользователи
Сообщений: 138
Регистрация: 30.12.2005
Пользователь №: 63 921
Модель телефона: Motorola L6
Прошивка: R3511_G_0A.52.45R_A

Рейтинг: 14



clipsa,
Ввожу в калькулятор кода
Адрес 10C408F8 Мнемоника BL 0х106D9CDE Код F7FFFFFE

Не совсем уверен что это правильный результат

Сообщение отредактировал SlavUser - 2.8.2007, 10:41
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
clipsa
сообщение 3.5.2007, 8:43


Опытный
***

Группа: Пользователи
Сообщений: 115
Регистрация: 22.8.2006
Из: Харьков
Пользователь №: 95 966
Модель телефона: Motorola E770v

Рейтинг: 77



SlavUser,

Правильный (неправильный такой F000F800), для проверки введи его нажми обновить и увидишь
да кстати забыл написать убери галочку Настройки > Подменять дальние переходы через BLX

Сообщение отредактировал clipsa - 3.5.2007, 8:44
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
SlavUser
сообщение 3.5.2007, 9:35


Опытный
***

Группа: Пользователи
Сообщений: 138
Регистрация: 30.12.2005
Пользователь №: 63 921
Модель телефона: Motorola L6
Прошивка: R3511_G_0A.52.45R_A

Рейтинг: 14



clipsa,
Неправильный результат

Что интересно, что когда ввожу в калькулятор кода значения адресов из оригинального патча сразу правильный результат получаю, а для моих адресов что то не то.
Может просто не может быть перехода по найденому адресу?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
clipsa
сообщение 3.5.2007, 9:38


Опытный
***

Группа: Пользователи
Сообщений: 115
Регистрация: 22.8.2006
Из: Харьков
Пользователь №: 95 966
Модель телефона: Motorola E770v

Рейтинг: 77



Цитата(SlavUser @ Сегодня, 11:33)

Ввожу в калькулятор кода
Адрес 10C408F8 Мнемоника BL 0х106D9CDE Код F7FFFFFE
*



проверяю

Результат F000F800 т.е. адрес на который ты хочешь перейти находится вне диапазона адресов доступных команде bl (слишком далеко)
Вероятно ты где-то ошибся
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
SlavUser
сообщение 3.5.2007, 10:00


Опытный
***

Группа: Пользователи
Сообщений: 138
Регистрация: 30.12.2005
Пользователь №: 63 921
Модель телефона: Motorola L6
Прошивка: R3511_G_0A.52.45R_A

Рейтинг: 14



clipsa,
Уже сам начал догадываться

т.к 10С..... а переход аж на 106.....
будем искать
правда я уже в полной растерянности.....

А может этот патч и нельзя портировать на нашу прошивку?

Сообщение отредактировал SlavUser - 3.5.2007, 10:02
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 4.5.2007, 8:43


Freestyler
********

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


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



Рейтинг: 4362



Цитата(Vilko @ Вчера, 8:41)

считаешь разницу адресов между командой BL +4 и адресом куда перейти.
делишь на 2
если значение меньше 2047 - просто записываешь его в OffsetLow
если больше, то делишь на 2048, результат пишешь в HighOffset, остаток - в Low
*


а нет программ для расчетов всех загогулин арма
типа ввести адрес1 ввести адрес2 - получаем BL или LDR для Rх либо ... ну что нужно

Сообщение отредактировал Osta - 4.5.2007, 8:44
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
SlavUser
сообщение 4.5.2007, 11:45


Опытный
***

Группа: Пользователи
Сообщений: 138
Регистрация: 30.12.2005
Пользователь №: 63 921
Модель телефона: Motorola L6
Прошивка: R3511_G_0A.52.45R_A

Рейтинг: 14



Osta,

Есть конечно. clipsa про такую как раз и упоминает в одном из сообщений чуть выше.
Калькулятор кода называется. Найти можно в BinEdit. Инструменты -> Компилятор -> Вид -> Калькулятор кода
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
AlexKooper
сообщение 12.5.2007, 18:47


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

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

Рейтинг: 1337



У меня получается по адресу и команде код сосчитать, а как по адресу и коду команду получить? дизасмить как? в калькуляторе обновить не нашел. бинедит версии 2006.12.12
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
RekGRpth
сообщение 13.5.2007, 9:36


Начинающий патчер
****

Группа: Пользователи
Сообщений: 234
Регистрация: 6.11.2006
Пользователь №: 106 009
Модель телефона: RoverPC N6
Прошивка: WM 6.1

Рейтинг: 359.5



Блин! Чё вы к калькулятору, да к хекс-коду привязались!
Ничё этого НЕ НУЖНО!!!!
Всё ГОРАЗДО ПРОЩЕ!!!
Берёте асм-исходник, компилируете, ВСЁ!!!
Бинедит САМ считает все переходы и переводит их в хекс!
Чё мудрить-то?!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Мачо
сообщение 13.5.2007, 9:49


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

Группа: Легенды MotoFan.Ru
Сообщений: 456
Регистрация: 26.7.2004
Из: Киров
Пользователь №: 8 569
Модель телефона: Е398 (умер), E6
Прошивка: Dream A Reality 2.0
Финалист Конкурса 2010

Рейтинг: 1410



При порте патча есть только код. А исходников нет. :-) вот и мудрим. Я уже код BL подбираю сек за 20.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
AlexKooper
сообщение 13.5.2007, 12:14


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

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

Рейтинг: 1337



Цитата(RekGRpth @ Сегодня, 13:36)


Мне неудобно держать 2 дизассемблированные прошивки - непатченую и патченую (которую для каждого патча надо заново дизасмить). Проще иметь дизасм непатченой а как будет выглядеть дизасм патченой определить дизасмнув патч. Там и надо-то в большинстве случаем переход увидеть.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
RekGRpth
сообщение 14.5.2007, 1:33


Начинающий патчер
****

Группа: Пользователи
Сообщений: 234
Регистрация: 6.11.2006
Пользователь №: 106 009
Модель телефона: RoverPC N6
Прошивка: WM 6.1

Рейтинг: 359.5



Цитата(Мачо @ Вчера, 15:49)

При порте патча есть только код. А исходников нет.
*


Дак их же просто получить: ставишь патч на прошу, для которой он сделан, открываешь её в бинедите и смотришь по тем адресам, и прямо выдиляешь дизасм и копируешь в асм-файл, осталось найти только адреса в твоей проше!
Цитата(AlexKooper @ Вчера, 18:14)

Мне неудобно держать 2 дизассемблированные прошивки - непатченую и патченую (которую для каждого патча надо заново дизасмить). Проще иметь дизасм непатченой а как будет выглядеть дизасм патченой определить дизасмнув патч. Там и надо-то в большинстве случаем переход увидеть.
*


При портировании патчей НУЖНО держать открытыми 4 (ЧЕТЫРЕ!!!) проши одновременно!
1) непатченная, для которой есть патч
2) патченная, для которой есть патч
3) непатченная, для которой делается патч
4) постепенно патчуемая, для которой делается пачт - для проверки
всё вместе это хапает не меньше... гига...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
AlexKooper
сообщение 14.5.2007, 5:56


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

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

Рейтинг: 1337



RekGRpth, ага, 4. Причем два исходных зачастую отличаются одной командой! А ведь узнай я, что делает функция патча... может, это элементарный nop (упрощаю конечно) - и из-за него открывать еще одну прошивку?

Сообщение отредактировал AlexKooper - 14.5.2007, 5:56
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 14.5.2007, 6:16


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

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

Рейтинг: 1116



AlexKooper,
если не хочешь ошибится - лучше открывать обе и видеть оба варианта кода. nop конечно примитивная команда. но вот забит им может быть весьма сильно значащий переход например.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 14.5.2007, 6:47


Freestyler
********

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


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



Рейтинг: 4362



Цитата(AlexKooper @ Сегодня, 7:56)

может, это элементарный nop (упрощаю конечно) - и из-за него открывать еще одну прошивку?
*


команду ноп видно и так в патче , это всегда 46 C0...

Цитата
Блин! Чё вы к калькулятору, да к хекс-коду привязались!


ну не было у нас телефона Самсунг :-) , который патчить ранее начали чем Моторы :-)
как в калькуляторе кстати посчитать LDR ? :-)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
AlexKooper
сообщение 14.5.2007, 8:39


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

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

Рейтинг: 1337



Vilko,
Osta,
RekGRpth,
я все понимаю, но ответьте мне пожалуйста на один вопрос:
как дизассмеблировать код примерно такого вида:
0001234: 2000 (если я на 100% уверен что тут код, а не данные)

не используя дизасм полной патченой прошивки.
Хотелось бы так же просто, как делается калькулятором бинедита аддр+асм>код

Vilko, можно ли как-то в IDA прописать тип моторольких прошивок, чтоб каждый раз не вводить оффсеты сг1, рам и т.д.?

Сообщение отредактировал AlexKooper - 14.5.2007, 8:40
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 14.5.2007, 8:52


Freestyler
********

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


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



Рейтинг: 4362



Цитата(AlexKooper @ Сегодня, 10:39)

код примерно такого вида:
0001234: 2000
*


это обнуление MOV R0, #0
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Учимся Патчить Прошивку! C помощью проги Binedit, Нужен Мануальчик от наших ГУРУ · Патчи и всё для них · Forum
 

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

 

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

Форум живёт: 8094 дней