Учимся писать патчи : Патчестроение : Форум |
Страница 155 из 180: « 1 ... 151 152 153 154 [155] 156 157 158 159 ... 180 » |
Ivanchick: |
14.07.10, 15:02 |
xGhost пишет: Ivanchick, http://supertrubka.org/newbb_plus/viewtopic.php?topic_id=4507 Ооо, дошло! Спасибо! Еще вопрос: как устанавливать патч и идти в замейн, если в phone_app.cxc нет таких адресов (имеется ввиду в замейне)? HotRabbit, я смотрю врезку Код: 117e75e6: 644A7069391CA6F230FB 014A1047FFFFE1B26A12 , вижу адрес 0x126AB2E1 , но как преобразовать остальное в код, я не знал. Везде движутся сверху вниз. Потом дошло, что сначала нужно [не знаю такого слова], вобщем 3 раза нажать на D, а потом уже на С выше всего этого.[ Редактировано Ivanchick в 14.7.10 15:11 ] |
xGhost: |
14.07.10, 15:06 |
Ivanchick, фаром ставишь патч и у тебя появляются нули: Патч: 15D00000: 00 FF |
Ivanchick: |
15.07.10, 00:28 |
Скажите пожалуйста, на какие ошибки указывает этот лог: Код: flat assembler for ARM version 1.66 music.asm [4]: LDR R2, 0x10FEF1FA x.inc [106] ldr [26]: ldr rg , [pc,(p1-($ and 0xFFFFFFFC)-4)] error: Immediate offset not alligned. cant open temp.bin |
KIBER-DEMON: |
15.07.10, 00:31 |
2Ivanchick Адрес не кратен 4м |
-Sotik-: |
15.07.10, 01:33 |
Ivanchick, покажи весь код (там где ругается добавь align 4) |
Ivanchick: |
15.07.10, 09:39 |
Вот весь исходник, за комментарием те значения, которые были: Код: include "x.inc" ; --------------------------------------------------------------------------- org 0x10FEF1F4 ; 117e75e6 LDR R2, 0x10FEF1FA ; 117E75EC BX R2 DCB 0xFF DCB 0xFF off_10FEF1FA DCD 0x12181000+1 ; 117E75EC 126AB2E0+1 ; --------------------------------------------------------------------------- addr1 = 0x10FEF1FE+1 ; 117E75F0+1 addr2 = 0x10FEF0F4 ; 117E74FD addr3 = 0x1168F908+1 ; 1080D3A4+1 addr4 = 0x1168F980+1 ; 1080D41C+1 addr5 = 0x1171D6EC+1 ; 10DF0A04+1 addr6 = 0xBE3 ;BF3 ; --------------------------------------------------------------------------- org 0x12181000 CODE16 loc_12181000: LDR R2, off_12181034 LDR R0, [R6,0x14] ADD R1, R7, 0 LDR R3, off_12181038 BLX R3 LDR R2, dword_12181044 MOV R1, 0 LDR R0, [R6,0x14] LDR R3, off_1218103C BLX R3 adr R2, sub_1218102 ADD R2, 1 MOV R1, 0 LDR R0, [R6,0x14] LDR R3, off_12181038 BLX R3 LDR R1, off_12181030 BX R1 ; =============== S U B R O U T I N E ======================================= sub_12181024: PUSH {R0-R7,LR} MOV R1, 0 LDR R7, off_12181040 BLX R7 POP {R0-R7,PC} ; End of function sub_126AB304 ; --------------------------------------------------------------------------- align 4 off_12181030 DCD addr1 off_12181034 DCD addr2 off_12181038 DCD addr3 off_1218103C DCD addr4 off_12181040 DCD addr5 dword_12181044 DCD addr6 ; ends |
MahmudS: |
15.07.10, 09:50 |
Код: org 0x10FEF1F4 ; 117e75e6 LDR R2, 0x10FEF1FA ; 117E75EC BX R2 DCB 0xFF DCB 0xFF off_10FEF1FA DCD 0x12181000+1 ; 117E75EC 126AB2E0+1 вместо Код: DCB 0xFF DCB 0xFF напиши align 4 |
HotRabbit: |
15.07.10, 10:00 |
Ivanchick, с моего скрина (пост выше) ваще трудно переписать, да?... Тебе компилятор явно указал где у тебя ошибка Ivanchick писал: Код: music.asm [4]: в 4-й строке такая муть Код: LDR R2, 0x10FEF1FA Зачем тут вообще что-то трогать? Оставь как было Код: org 0xТвоё_значение LDR R2, off_117E75EC BX R2 ; --------------------------------------------------------------------------- align 4 off_117E75EC dw loc_126AB2E0+1 ; --------------------------------------------------------------------------- org 0xТвой_замейн loc_126AB2E0: ...... Остальное так же Или по-русски: у тебя меняются только значения врезки, патча и адресов (addr1...6), которые ты нашёл Код: addr2 = 0x10FEF0F4 ; 117E74FD И здесь "+1" потерял вроде |
Ivanchick: |
15.07.10, 10:52 |
HotRabbit пишет: Ivanchick, с моего скрина (пост выше) ваще трудно переписать, да?... Тебе компилятор явно указал где у тебя ошибка Ivanchick писал: Код: music.asm [4]: в 4-й строке такая муть Код: LDR R2, 0x10FEF1FA Зачем тут вообще что-то трогать? Оставь как было Код: org 0xТвоё_значение LDR R2, off_117E75EC BX R2 ; --------------------------------------------------------------------------- align 4 off_117E75EC dw loc_126AB2E0+1 ; --------------------------------------------------------------------------- org 0xТвой_замейн loc_126AB2E0: ...... Остальное так же Или по-русски: у тебя меняются только значения врезки, патча и адресов (addr1...6), которые ты нашёл То есть ты хочешь сказать, что в строке Код: LDR R2, off_117E75EC адрес 0х117E75EC не нужно портировать??? В исходнике все адреса портированы на W910 R1FA037, закомментированы те адреса, которые были в W595. Наверное, адреса неправильно портанул, но PatsearchNT выдает эти.А обязательно здесь нужно менять DCD на dw Код: align 4 ?off_117E75EC dw loc_126AB2E0+1 В 4-ой строке действительно адрес не кратен 4-ем, если его сделать кратным 4-ем, то в логе эта ошибка пропадает. (На этот адрес PatsearchNT мне выдал 2 адреса, но оба они не кратны 4-ем). После этого появляется Код: 2 passes, 104 bytes. . Это значит, что в 2-ух местах ошибки? |
RaANdOoM: |
15.07.10, 12:52 |
Ivanchick, DCD, dw - работают одинаково 2 passes, 104 bytes - не забивай голову, по крайней мере это значит что патч скомпилился И любой dword (4 байта) должен быть расположен по адресу кратному 4-ем. |
Страница 155 из 180: « 1 ... 151 152 153 154 [155] 156 157 158 159 ... 180 » |
URL этой темы: https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=965&start=1540 © 2005-2018 supertrubka.org |