Портирование за main'-овых патчей A2 : Патчестроение : Форум |
Страница 1 из 17: [1] 2 3 4 5 ... 17 » |
SEVENI: |
06.03.10, 19:21 |
Нам понадобится: 1) IDA 5.2 2) Pattsearch 3) Ida_cxcloader 4) read3150_0.5 5) патч 6) Компилятор от den_po 7) 2 idc-файла для применения/отката патча на phone_app.cxc 8) main прошивки на которую есть патч (W595_R3EA037) и main прошивки на которую будем портировать патч (W760_R3CA033) я приведу пример портирования патча Код: ;W595 SW-R3EA037 LD ;Advanced range of brightness adjustment ;Allows you to adjust brightness from 10 to 100% ;(c) IronMaster ;(p) navin 10dc11a8: 401D 401C 10dc14a0: 262801D200207047312801D2 00B50149884700BDE1D06C12 10dc14cc: 042810D801A1095C8F44C046 00B50149884700BD2DD16C12 10dc1636: 0522 0922 10e647a2: 242A01D22422 0A2A01D20A22 126cd0e0: 00000000000000000000000000000000 142801D2002070471E2801D201207047 126cd0f0: 00000000000000000000000000000000 282801D202207047322801D203207047 126cd100: 00000000000000000000000000000000 3C2801D204207047462801D205207047 126cd110: 00000000000000000000000000000000 502801D2062070475A2801D207207047 126cd120: 00000000000000000000000000000000 642801D2082070470920704708281AD8 126cd130: 00000000000000000000000000000000 01A1095C8F44C0460A0E12161A1E2226 126cd140: 00000000000000000000000000000000 2A000A207047142070471E2070472820 126cd150: 00000000000000000000000000000000 7047322070473C207047462070475020 126cd160: 00000000000000000000 70475A20704764207047 с W595_R3EA037 на W760_R3CA033 1) загрузка прошивки: первым делом, нам нужно правильно загрузить обе прошивки в IDA для этого воспользуемся следующим: кладём cxcldr.ldw в IDA/loaders киаем оба main-файла прошивок на read3150.exe по очереди в полученных каталогах с именем прошивок находим phone_app.cxc теперь открываем IDA File/open (в типах файлов ставим all files) и открываем phone_app.cxc от прошивки W595_R3EA037 в окне загрузки мы нажимаем Set и Ok ждем загрузки далее переводим прошивку в Thumb-режим (Alt+G=T, value 1) и настраиваем отображение байт Options/general/Disassembly/Number of opcode bytes ставим 4 переходим на вкладку analysis/Processor specific analysis options и ставим галку на пункте Disable pointer dereferencing, нажимаем Reanalyse program и Ok запускаем IDA ещё раз и проводим аналогичную операцию с phone_app.cxc от прошивки W760_R3CA033 и так, переходим в окно с phone_app.cxc от прошивки W595_R3EA037 2) создание исходника: применяем патч на прошивку (File/IDC file.../Applypatch.idc) и переходим по первому адресу патча("G") - 10dc11a8 нажимаем "C" - побежали циферки нам нужен код 2-х байт 401C - смотрим напротив их это ADDS R0, R0, #1 создаем текстовый файл и записываем первой строкой include "x.inc", далее расписываем первую врезку Код: include "x.inc" org 0x10dc11a8 ADDS R0, R0, #1 аналогично переходим по второму адресу патча 10dc14a0 здесь нам нужен код 12-ти байт 00B50149884700BDE1D06C12 т.е это будет Код: PUSH {LR} LDR R1, off_10DC14A8 BLX R1 POP {PC} off_10DC14A8 DCD loc_126CD0E0+1 оформляем 2-ю врезку: Код: include "x.inc" org 0x10dc11a8 ADDS R0, R0, #1 org 0x10dc14a0 PUSH {LR} LDR R1, off_10DC14A8 BLX R1 POP {PC} off_10DC14A8 DCD loc_126CD0E0+1 аналогично преобразовываем 3-й, 4-й и 5-й адрес, получаем include "x.inc" org 0x10dc11a8 ADDS R0, R0, #1 org 0x10dc14a0 PUSH {LR} LDR R1, off_10DC14A8 BLX R1 POP {PC} off_10DC14A8 DCD loc_126CD0E0+1 org 0x10dc14cc PUSH {LR} LDR R1, off_10DC14D4 BLX R1 POP {PC} off_10DC14D4 DCD loc_126CD12C+1 org 0x10dc1636 MOVS R2, #9 org 0x10e647a2 CMP R2, #0xA BCS loc_10E647AA MOVS R2, #0xA теперь мы переходим в тело патча, берем начальный адрес тела патча и записываем его аналогично врезке и добавляем Thumb-режим CODE16 (не обязательно) include "x.inc" org 0x10dc11a8 ADDS R0, R0, #1 org 0x10dc14a0 PUSH {LR} LDR R1, off_10DC14A8 BLX R1 POP {PC} off_10DC14A8 DCD loc_126CD0E0+1 org 0x10dc14cc PUSH {LR} LDR R1, off_10DC14D4 BLX R1 POP {PC} off_10DC14D4 DCD loc_126CD12C+1 org 0x10dc1636 MOVS R2, #9 org 0x10e647a2 CMP R2, #0xA BCS loc_10E647AA MOVS R2, #0xA org 0x126cd0e0 CODE16 переходим по адресу 126cd0e0 в прошивке и нажимаем "C" на всех жёлтых адресах ниже, пока не пойдёт пустота: Код: DCB 0 DCB 0 DCB 0 DCB 0 т.е наше тело патча - это кусок кода с адреса 126cd0e0 до адреса 126CD168 - выделяем, нажимаем File/Produce file/create ASM file и сохраняем в удобное место открываем наш полученный asm-файл ; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: Mach EDV Dienstleistungen, Jan Mach, 1 user, adv, 11/2007 | ; +-------------------------------------------------------------------------+ ; ; --------------------------------------------------------------------------- loc_126CD0E0 ; CODE XREF: ROM:10DC14A4j ; DATA XREF: ROM:off_10DC14A8o CMP R0, #0x14 BCS loc_126CD0E8 MOVS R0, #0 BX LR ; --------------------------------------------------------------------------- loc_126CD0E8 ; CODE XREF: ROM:126CD0E2j CMP R0, #0x1E BCS loc_126CD0F0 MOVS R0, #1 BX LR ; --------------------------------------------------------------------------- loc_126CD0F0 ; CODE XREF: ROM:126CD0EAj CMP R0, #0x28 BCS loc_126CD0F8 MOVS R0, #2 BX LR ; --------------------------------------------------------------------------- loc_126CD0F8 ; CODE XREF: ROM:126CD0F2j CMP R0, #0x32 BCS loc_126CD100 MOVS R0, #3 BX LR ; --------------------------------------------------------------------------- loc_126CD100 ; CODE XREF: ROM:126CD0FAj CMP R0, #0x3C BCS loc_126CD108 MOVS R0, #4 BX LR ; --------------------------------------------------------------------------- loc_126CD108 ; CODE XREF: ROM:126CD102j CMP R0, #0x46 BCS loc_126CD110 MOVS R0, #5 BX LR ; --------------------------------------------------------------------------- loc_126CD110 ; CODE XREF: ROM:126CD10Aj CMP R0, #0x50 BCS loc_126CD118 MOVS R0, #6 BX LR ; --------------------------------------------------------------------------- loc_126CD118 ; CODE XREF: ROM:126CD112j CMP R0, #0x5A BCS loc_126CD120 MOVS R0, #7 BX LR ; --------------------------------------------------------------------------- loc_126CD120 ; CODE XREF: ROM:126CD11Aj CMP R0, #0x64 BCS loc_126CD128 MOVS R0, #8 BX LR ; --------------------------------------------------------------------------- loc_126CD128 ; CODE XREF: ROM:126CD122j MOVS R0, #9 BX LR ; --------------------------------------------------------------------------- loc_126CD12C ; CODE XREF: ROM:10DC14D0j ; DATA XREF: ROM:off_10DC14D4o CMP R0, #8 BHI loc_126CD166 ADR R1, loc_126CD138 LDRB R1, [R1,R0] ADD PC, R1 ; --------------------------------------------------------------------------- NOP loc_126CD138 ; DATA XREF: ROM:126CD130o LSRS R2, R1, #0x18 ASRS R2, R2, #0x18 SUBS R2, R3, #0 MOVS R6, #0x22 LSLS R2, R5, #0 MOVS R0, #0xA BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x14 BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x1E BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x28 BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x32 BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x3C BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x46 BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x50 BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x5A BX LR ; --------------------------------------------------------------------------- loc_126CD166 ; CODE XREF: ROM:126CD12Ej MOVS R0, #0x64 BX LR ; --------------------------------------------------------------------------- удаляем шапку и комментарии, получаем: ; --------------------------------------------------------------------------- loc_126CD0E0 CMP R0, #0x14 BCS loc_126CD0E8 MOVS R0, #0 BX LR ; --------------------------------------------------------------------------- loc_126CD0E8 CMP R0, #0x1E BCS loc_126CD0F0 MOVS R0, #1 BX LR ; --------------------------------------------------------------------------- loc_126CD0F0 CMP R0, #0x28 BCS loc_126CD0F8 MOVS R0, #2 BX LR ; --------------------------------------------------------------------------- loc_126CD0F8 CMP R0, #0x32 BCS loc_126CD100 MOVS R0, #3 BX LR ; --------------------------------------------------------------------------- loc_126CD100 CMP R0, #0x3C BCS loc_126CD108 MOVS R0, #4 BX LR ; --------------------------------------------------------------------------- loc_126CD108 CMP R0, #0x46 BCS loc_126CD110 MOVS R0, #5 BX LR ; --------------------------------------------------------------------------- loc_126CD110 CMP R0, #0x50 BCS loc_126CD118 MOVS R0, #6 BX LR ; --------------------------------------------------------------------------- loc_126CD118 CMP R0, #0x5A BCS loc_126CD120 MOVS R0, #7 BX LR ; --------------------------------------------------------------------------- loc_126CD120 CMP R0, #0x64 BCS loc_126CD128 MOVS R0, #8 BX LR ; --------------------------------------------------------------------------- loc_126CD128 MOVS R0, #9 BX LR ; --------------------------------------------------------------------------- loc_126CD12C CMP R0, #8 BHI loc_126CD166 ADR R1, loc_126CD138 LDRB R1, [R1,R0] ADD PC, R1 ; --------------------------------------------------------------------------- NOP loc_126CD138 LSRS R2, R1, #0x18 ASRS R2, R2, #0x18 SUBS R2, R3, #0 MOVS R6, #0x22 LSLS R2, R5, #0 MOVS R0, #0xA BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x14 BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x1E BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x28 BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x32 BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x3C BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x46 BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x50 BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x5A BX LR ; --------------------------------------------------------------------------- loc_126CD166 MOVS R0, #0x64 BX LR ; --------------------------------------------------------------------------- теперь добавляем нашу первую часть исходника(врезки) include "x.inc" org 0x10dc11a8 ADDS R0, R0, #1 org 0x10dc14a0 PUSH {LR} LDR R1, off_10DC14A8 BLX R1 POP {PC} off_10DC14A8 DCD loc_126CD0E0+1 org 0x10dc14cc PUSH {LR} LDR R1, off_10DC14D4 BLX R1 POP {PC} off_10DC14D4 DCD loc_126CD12C+1 org 0x10dc1636 MOVS R2, #9 org 0x10e647a2 CMP R2, #0xA BCS loc_10E647AA MOVS R2, #0xA org 0x126cd0e0 CODE16 ; --------------------------------------------------------------------------- loc_126CD0E0 CMP R0, #0x14 BCS loc_126CD0E8 MOVS R0, #0 BX LR ; --------------------------------------------------------------------------- loc_126CD0E8 CMP R0, #0x1E BCS loc_126CD0F0 MOVS R0, #1 BX LR ; --------------------------------------------------------------------------- loc_126CD0F0 CMP R0, #0x28 BCS loc_126CD0F8 MOVS R0, #2 BX LR ; --------------------------------------------------------------------------- loc_126CD0F8 CMP R0, #0x32 BCS loc_126CD100 MOVS R0, #3 BX LR ; --------------------------------------------------------------------------- loc_126CD100 CMP R0, #0x3C BCS loc_126CD108 MOVS R0, #4 BX LR ; --------------------------------------------------------------------------- loc_126CD108 CMP R0, #0x46 BCS loc_126CD110 MOVS R0, #5 BX LR ; --------------------------------------------------------------------------- loc_126CD110 CMP R0, #0x50 BCS loc_126CD118 MOVS R0, #6 BX LR ; --------------------------------------------------------------------------- loc_126CD118 CMP R0, #0x5A BCS loc_126CD120 MOVS R0, #7 BX LR ; --------------------------------------------------------------------------- loc_126CD120 CMP R0, #0x64 BCS loc_126CD128 MOVS R0, #8 BX LR ; --------------------------------------------------------------------------- loc_126CD128 MOVS R0, #9 BX LR ; --------------------------------------------------------------------------- loc_126CD12C CMP R0, #8 BHI loc_126CD166 ADR R1, loc_126CD138 LDRB R1, [R1,R0] ADD PC, R1 ; --------------------------------------------------------------------------- NOP loc_126CD138 LSRS R2, R1, #0x18 ASRS R2, R2, #0x18 SUBS R2, R3, #0 MOVS R6, #0x22 LSLS R2, R5, #0 MOVS R0, #0xA BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x14 BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x1E BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x28 BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x32 BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x3C BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x46 BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x50 BX LR ; --------------------------------------------------------------------------- MOVS R0, #0x5A BX LR ; --------------------------------------------------------------------------- loc_126CD166 MOVS R0, #0x64 BX LR ; --------------------------------------------------------------------------- 3) редактирование исходника: редактируем наш исходник при помощи обычного текстового редактора: все "#" удаляем (Ctrl+H) в поле "Что?" вставляем #, поле "Чем?" оставляем пустым нажимаем заменить всё адреса типа "DCD loc_126CD0E0+1" преобразовываем в "DCD 0x126CD0E0+1" Все команды MOVS, LSRS, SUBS, LSLS, ASRS и т.д заменяем на MOV, LSR, SUB, LSL, ASR после ссылок, типа loc_126CD0E0, loc_126CD0E8 ставим ":" т.е у нас получится loc_126CD0E0:, loc_126CD0E8:, у всех ADR меняем регистр на adr и так, у нас получился готовый исходник include "x.inc" org 0x10dc11a8 ADD R0, R0, 1 org 0x10dc14a0 PUSH {LR} LDR R1, off_10DC14A8 BLX R1 POP {PC} off_10DC14A8 DCD 0x126CD0E0+1 org 0x10dc14cc PUSH {LR} LDR R1, off_10DC14D4 BLX R1 POP {PC} off_10DC14D4 DCD 0x126CD12C+1 org 0x10dc1636 MOV R2, 9 org 0x10e647a2 CMP R2, 0xA BCS 0x10E647AA MOV R2, 0xA org 0x126cd0e0 CODE16 ; --------------------------------------------------------------------------- loc_126CD0E0: CMP R0, 0x14 BCS loc_126CD0E8 MOV R0, 0 BX LR ; --------------------------------------------------------------------------- loc_126CD0E8: CMP R0, 0x1E BCS loc_126CD0F0 MOV R0, 1 BX LR ; --------------------------------------------------------------------------- loc_126CD0F0: CMP R0, 0x28 BCS loc_126CD0F8 MOV R0, 2 BX LR ; --------------------------------------------------------------------------- loc_126CD0F8: CMP R0, 0x32 BCS loc_126CD100 MOV R0, 3 BX LR ; --------------------------------------------------------------------------- loc_126CD100: CMP R0, 0x3C BCS loc_126CD108 MOV R0, 4 BX LR ; --------------------------------------------------------------------------- loc_126CD108: CMP R0, 0x46 BCS loc_126CD110 MOV R0, 5 BX LR ; --------------------------------------------------------------------------- loc_126CD110: CMP R0, 0x50 BCS loc_126CD118 MOV R0, 6 BX LR ; --------------------------------------------------------------------------- loc_126CD118: CMP R0, 0x5A BCS loc_126CD120 MOV R0, 7 BX LR ; --------------------------------------------------------------------------- loc_126CD120: CMP R0, 0x64 BCS loc_126CD128 MOV R0, 8 BX LR ; --------------------------------------------------------------------------- loc_126CD128: MOV R0, 9 BX LR ; --------------------------------------------------------------------------- loc_126CD12C: CMP R0, 8 BHI loc_126CD166 adr R1, loc_126CD138 LDRB R1, [R1,R0] ADD PC, R1 ; --------------------------------------------------------------------------- NOP loc_126CD138: LSR R2, R1, 0x18 ASR R2, R2, 0x18 SUB R2, R3, 0 MOV R6, 0x22 LSL R2, R5, 0 MOV R0, 0xA BX LR ; --------------------------------------------------------------------------- MOV R0, 0x14 BX LR ; --------------------------------------------------------------------------- MOV R0, 0x1E BX LR ; --------------------------------------------------------------------------- MOV R0, 0x28 BX LR ; --------------------------------------------------------------------------- MOV R0, 0x32 BX LR ; --------------------------------------------------------------------------- MOV R0, 0x3C BX LR ; --------------------------------------------------------------------------- MOV R0, 0x46 BX LR ; --------------------------------------------------------------------------- MOV R0, 0x50 BX LR ; --------------------------------------------------------------------------- MOV R0, 0x5A BX LR ; --------------------------------------------------------------------------- loc_126CD166: MOV R0, 0x64 BX LR ; --------------------------------------------------------------------------- 4) портирование исходника: осталось только портировать адреса на W760_R3CA033 отменяем патч на phone_app.cxc от прошивки W595_R3EA037 открываем pattsearch нажимаем load ff и выбираем phone_app.cxc от прошивки W760_R3CA033 в праврм верхнем углу программы указываем базу загрузки, в данном случае 0xFFFE000 теперь снова переходим по первому адресу патча в phone_app.cxc от прошивки W595_R3EA037 нажимаем "С" и выделяем не большой кусок кода, вставляем в окно pattsearch и нажимаем convert - мы создали паттерн теперь все 4-х байтные строки паттерна мы заменяем на Код: ??,??,??,?? т.е ??,??,??,FD => ??,??,??,?? и т.д нажимаем Search и в правом окне программы, получаем адрес 1191FD7C - это адрес 1-й врезки на прошивку W760_R3CA033 двигаемся ниже - получаем адрес 11920070 - это адрес 2-й врезки на прошивку W760_R3CA033 не забываем про то, что адреса в коде тоже нужно портировать так выглядит врезка на W595_R3EA037: Код: org 0x10dc14a0 PUSH {LR} LDR R1, off_10DC14A8 BLX R1 POP {PC} off_10DC14A8 DCD 0x126CD0E0+1 а вот так на W760_R3CA033: Код: org 0x1191FD7C PUSH {LR} LDR R1, off_11920078 BLX R1 POP {PC} off_11920078 DCD 0x126CD0E0+1 DCD 0x126CD0E0+1 - это адрес ссылающийся на замэйн(в данном случае, с него пойдет замэйн) двигаемся далее и в конце концов у нас получается готовый исходник с адресами на W760_R3CA033 include "x.inc" org 0x1191FD7C ADD R0, R0, 1 org 0x11920070 PUSH {LR} LDR R1, off_11920078 BLX R1 POP {PC} off_11920078 DCD 0x126E78F0+1 org 0x1192009C PUSH {LR} LDR R1, off_119200A4 BLX R1 POP {PC} off_119200A4 DCD 0x126E793C+1 org 0x119201EA MOV R2, 9 org 0x119D9A06 CMP R2, 0xA BCS 0x119D9A0E MOV R2, 0xA org 0x126E78F0 CODE16 ; --------------------------------------------------------------------------- loc_126CD0E0: CMP R0, 0x14 BCS loc_126CD0E8 MOV R0, 0 BX LR ; --------------------------------------------------------------------------- loc_126CD0E8: CMP R0, 0x1E BCS loc_126CD0F0 MOV R0, 1 BX LR ; --------------------------------------------------------------------------- loc_126CD0F0: CMP R0, 0x28 BCS loc_126CD0F8 MOV R0, 2 BX LR ; --------------------------------------------------------------------------- loc_126CD0F8: CMP R0, 0x32 BCS loc_126CD100 MOV R0, 3 BX LR ; --------------------------------------------------------------------------- loc_126CD100: CMP R0, 0x3C BCS loc_126CD108 MOV R0, 4 BX LR ; --------------------------------------------------------------------------- loc_126CD108: CMP R0, 0x46 BCS loc_126CD110 MOV R0, 5 BX LR ; --------------------------------------------------------------------------- loc_126CD110: CMP R0, 0x50 BCS loc_126CD118 MOV R0, 6 BX LR ; --------------------------------------------------------------------------- loc_126CD118: CMP R0, 0x5A BCS loc_126CD120 MOV R0, 7 BX LR ; --------------------------------------------------------------------------- loc_126CD120: CMP R0, 0x64 BCS loc_126CD128 MOV R0, 8 BX LR ; --------------------------------------------------------------------------- loc_126CD128: MOV R0, 9 BX LR ; --------------------------------------------------------------------------- loc_126CD12C: CMP R0, 8 BHI loc_126CD166 adr R1, loc_126CD138 LDRB R1, [R1,R0] ADD PC, R1 ; --------------------------------------------------------------------------- NOP loc_126CD138: LSR R2, R1, 0x18 ASR R2, R2, 0x18 SUB R2, R3, 0 MOV R6, 0x22 LSL R2, R5, 0 MOV R0, 0xA BX LR ; --------------------------------------------------------------------------- MOV R0, 0x14 BX LR ; --------------------------------------------------------------------------- MOV R0, 0x1E BX LR ; --------------------------------------------------------------------------- MOV R0, 0x28 BX LR ; --------------------------------------------------------------------------- MOV R0, 0x32 BX LR ; --------------------------------------------------------------------------- MOV R0, 0x3C BX LR ; --------------------------------------------------------------------------- MOV R0, 0x46 BX LR ; --------------------------------------------------------------------------- MOV R0, 0x50 BX LR ; --------------------------------------------------------------------------- MOV R0, 0x5A BX LR ; --------------------------------------------------------------------------- loc_126CD166: MOV R0, 0x64 BX LR ; --------------------------------------------------------------------------- 5) компиляция: распаковываем компилятор от den_po в любую удобную папку(у меня это D:\armpc2) кладем туда phone_app.cxc от прошивки W760_R3CA033 и наш исходник(для удобства, я назвал его Untitled1.asm) Открываем Пуск/Выполнить и вводим такую строку Код: D:\armpc2\make.bat Untitled1.asm phone_app.cxc FFFE000 v.info>log.txt нажимаем Enter и получаем патч в папке с компилятором Код: ;W760 SW - R3CA033 ;Расширенный диапазон регулировки яркости ;Позволяет регулировать яркость от 10 до 100% ;(c) IronMaster ;(p) SEVENI +fffe000 1921d7c: 401D 401C 1922070: 262801D200207047312801D2 00B50149884700BDF1786E12 192209c: 042810D801A1095C8F44C046 00B50149884700BD3D796E12 19221ea: 0522 0922 19dba06: 242A01D22422 0A2A01D20A22 26e98f0: 00000000000000000000000000000000 142801D2002070471E2801D201207047 26e9900: 00000000000000000000000000000000 282801D202207047322801D203207047 26e9910: 00000000000000000000000000000000 3C2801D204207047462801D205207047 26e9920: 00000000000000000000000000000000 502801D2062070475A2801D207207047 26e9930: 00000000000000000000000000000000 642801D2082070470920704708281AD8 26e9940: 00000000000000000000000000000000 01A1095C8F44C0460A0E12161A1E2226 26e9950: 00000000000000000000000000000000 2A000A207047142070471E2070472820 26e9960: 00000000000000000000000000000000 7047322070473C207047462070475020 26e9970: 00000000000000000000 70475A20704764207047 Не всегда адреса находятся так легко, могут возникнуть проблеммы с созданием исходника и т.д но Практика оправдывает своё название Автор F.A.Q.: SEVENI Специально для ресурса supertrubka.org Прикрепленный к сообщению файл: Compilator.zip (64.08 kb; 263 hits) Скачать файл read3150.zip (49.61 kb; 155 hits) Скачать файл patsearchnt.zip (178.99 kb; 236 hits) Скачать файл Idc.zip (6.82 kb; 234 hits) Скачать файл ida_cxcldr.zip (70.30 kb; 287 hits) Скачать файл |
Va_st: |
06.03.10, 20:19 |
критика епт) SEVENI писал: переходим по адресу 126cd0e0 в прошивке и нажимаем "C" на всех жёлтых адресах ниже, странно конечно,но у меня после открытия врезок тело патча само открывается)) SEVENI писал: теперь все 4-х байтные строки паттерна мы заменяем на Код: ??,??,??,?? т.е ??,??,??,FD => ??,??,??,?? ??,??,??,F?=так будет лучше команда bl же( паттерн порой получается короче)SEVENI писал: добавляем Thumb-режим CODE16 (не обязательно) лучше ставить,чем не ставить зы пример не удачный и смени компилятор на свежую версию |
SEVENI: |
06.03.10, 21:00 |
Va_st, 1) инструкция не для конкретного патча, а для всех, бывает и такое, что тело патча не до конца превращается в код 2) это уже для патчей, которые трудно портировать, обычным способом и так находит 3) я довел до ума, что можно как ставить, так и не ставить, но заметь, сам написал зы а других прошивок/патчей в наличии нет пока что и версия компилятора меня устраивает, кому нужно будет, скачают новый |
den_po: |
07.03.10, 00:35 |
Va_st пишет: ??,??,??,F?=так будет лучше команда bl же( паттерн порой получается короче) насколько я помню, patsearch не умеет такого, F? для него имеет то же значение, что ?? |
IronMaster: |
07.03.10, 08:09 |
Если быть точнее, то сигнатура бл имеет вид ??F???F? |
DuXeN0N: |
07.03.10, 19:59 |
SEVENI, че-то ниче особенного я не увидел.)) отличается только тем, что адреса другие. смысл был писать FAQ? P.S. Но все равно спс, вдруг кому пригодится |
D3mon: |
11.03.10, 16:58 |
Решил написать именно сюда.. Открываю я phone_app.cxc от W705_R1GA031 SEVENI писал: применяем патч на прошивку (File/IDC file.../Applypatch.idc) Применяю патч Патч: ;W705 SW-R1GA031 ;Исчезновение отчета о доставке через 5 секунд ;pAtChFiLe=/boot/phone_app.cxc ;v. 1.1 ;(с) IronMaster Врезки применяются правильно, а вот тело патча нет.. Иду в ИДЕ в самый конец, и вижу, что последний адрес 15CE2FFF, ну а тело патча начинается с 15CE3030, как мне быть? Как можно "расширить" phone_app.cxc? |
Xamid: |
11.03.10, 17:29 |
лично я делаю по-другому. Тело портирую отдельно через raw по старинке Добавлено 11.3.10 17:42 http://forum.se-team.com/showthread.php?t=20 для тех, кто не в курсе про "по старинке" |
xGhost: |
11.03.10, 17:46 |
Xamid, а если патч большой, тоже "по старинке"? |
A1z: |
11.03.10, 17:51 |
D3mon, возьми с помощью farcxcpatcher примени патч типа: Патч: 15F00000: 00 FF и твой phone_app.cxc расширится как минимум до 15F00000. |
Страница 1 из 17: [1] 2 3 4 5 ... 17 » |
URL этой темы: https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=4700 © 2005-2018 supertrubka.org |