Учимся писать патчи : Патчестроение : Форум

Страница 172 из 180: « 1 ... 168 169 170 171 [172] 173 174 175 176 ... 180 »

 D3mon:
30.07.11, 14:57
 SE-depot, иди читай мануалы!!! это всё, что можно тебе посоветовать!

 andrewsolo:
30.07.11, 15:04
 SE-depot, а ты патч то примени сначала (ApplyPatch.idc)

 -Sotik-:
30.07.11, 16:11
 SE-depot, чувак - ты же замейн пробуешь портануть :-o !!! его надо не портировать, а выбирать самому из учета замейна своей темы.
ты хоть темы по портингу сначала прочти прежде чем портировать!!!

 andrewsolo:
30.07.11, 22:08
 Помогите разобраться. Мозг взорван :)

1. имеем врезку:
44FE969C: 0099097807B42B6B069AE96A 0149884701E0FFFF2DABD245

2. дизасмим
Код: 
org 0x44FE969C
01 49     LDR     R1, off_44FE96A4
88 47     BLX     R1
01 E0     B       off_44FE96A4+2
FF    DCD 0xFF
FF    DCD 0xFF
2D AB D2 45    off_44FE96A4 DCD loc_45D2AB2C+1  ; в тело патча

DCD 0xFF специально не убрал для наглядности и не заменил на align 4, без паники!

3. B off_44FE96A4+2 осуществит переход на середину DCD loc_45D2AB2C+1 ! Проверил undefin`ом 2D AB D2 45 - IDA поставила 2 метки на 2D AB и на D2 45
справка:
B <signed imm_12>
R15 := (signed imm_12 * 2) + PC + 4;
Безусловный относительный переход на, приблизительно, +/-2048 байт, только на четные адреса.


4. С другой стороны, если посмотреть что за команда скрывается под D2 45, то видим, что это безобидный, в контексте последующего кода, CMP R10, R10

6. Портировав 0x44FE969C на свою прошивку я получаю не кратный 4м 0x44FE70CA, т.е. мне никак нельзя оставить все как есть. Придется в любом случае править условный переход на следующую после врезки команду

5. Напрашивается вопрос. Что это? Хитрость автора патча или я просто не понимаю и это все зачем-то нужно было? Моя задача сделать верный порт и хочется разобраться.

забыл сказать, что таких врезок в патче 2, так что это не случайность

[ Редактировано andrewsolo в 30.7.11 22:09 ]

 E1kolyan:
30.07.11, 22:35
 2D AB D2 45 - это адрес 45D2AB2D и его надо портировать на свою прошивку...

 andrewsolo:
30.07.11, 22:37
 E1kolyan, не надо портировать, я же пометил, что это в тело патча.
размещу тело, поправлю

вопрос то вообще не про это

 E1kolyan:
30.07.11, 22:40
 Код:
org 0x44FE70CA
ldr r1, patch
blx r1
b 0x44FE70D4
patch dw 0xадрес на замейн



Добавлено 31.7.11 00:43

осуществит переход на середину DCD loc_45D2AB2C+1 ! Проверил undefin`ом 2D AB D2 45 - IDA поставила 2 метки на 2D AB и на D2 45

На какую еще середину, сам понял что написал? Какие еще метки?
CMP R10, R10

это еще че за хрень?
Вот ты написал непонятно что,без бутылки не разберешься...

 E1kolyan:
30.07.11, 22:51
 andrewsolo, Врезки в иде научись применять и не будет у тебя никаких +2...Сам только что прошивку твою открывал, применил и у меня все ок, странно да?!

 andrewsolo:
30.07.11, 22:52
 E1kolyan,
а зачем ты врезку применил в мою прошивку, а?
ты примени её на w660 куда патч был написан

я привел дизасм, а не порт! так и написал

[ Редактировано andrewsolo в 30.7.11 22:53 ]

 Therion:
30.07.11, 22:53
 
andrewsolo пишет:
Помогите разобраться. Мозг взорван :)

1. имеем врезку:
44FE969C: 0099097807B42B6B069AE96A 0149884701E0FFFF2DABD245

2. дизасмим
Код: 
org 0x44FE969C
01 49     LDR     R1, off_44FE96A4
88 47     BLX     R1
01 E0     B       off_44FE96A4+2
FF    DCD 0xFF
FF    DCD 0xFF
2D AB D2 45    off_44FE96A4 DCD loc_45D2AB2C+1  ; в тело патча

DCD 0xFF специально не убрал для наглядности и не заменил на align 4, без паники!

3. B off_44FE96A4+2 осуществит переход на середину DCD loc_45D2AB2C+1 ! Проверил undefin`ом 2D AB D2 45 - IDA поставила 2 метки на 2D AB и на D2 45
справка:
B <signed imm_12>
R15 := (signed imm_12 * 2) + PC + 4;
Безусловный относительный переход на, приблизительно, +/-2048 байт, только на четные адреса.


4. С другой стороны, если посмотреть что за команда скрывается под D2 45, то видим, что это безобидный, в контексте последующего кода, CMP R10, R10

6. Портировав 0x44FE969C на свою прошивку я получаю не кратный 4м 0x44FE70CA, т.е. мне никак нельзя оставить все как есть. Придется в любом случае править условный переход на следующую после врезки команду

5. Напрашивается вопрос. Что это? Хитрость автора патча или я просто не понимаю и это все зачем-то нужно было? Моя задача сделать верный порт и хочется разобраться.

забыл сказать, что таких врезок в патче 2, так что это не случайность

[ Редактировано andrewsolo в 30.7.11 22:09 ]


даже вчитыватся не надо, и прошивку не надо глядеть,чтоб по хексу понять что там в конце

org 0x44FE969C
ldr r1, dword
blx r1 - тут хз,я хекс коды слабо читаю
b addr
align 4
dword dw 0x45D2AB2C+1 (zamain+1)
Страница 172 из 180: « 1 ... 168 169 170 171 [172] 173 174 175 176 ... 180 »

URL этой темы:
https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=965&start=1710

© 2005-2018 supertrubka.org