Все для Sony Ericsson, патчи, эльфы, моддинг, прошивка
  
Логин: Пароль: Запомнить: Привет гость! Зарегистрируйся или авторизируйся для получения доп. возможностей!
Разделы
PDA версия сайта
TrackIDentify
Новости
Статьи
Файлы
Патчи
Патчи A2
Патчи db2020
Эльфы
Исходники эльфов
Wiki
Форум
Опросы
Обратная связь
Развернуть/Свернуть
 
Развернуть/Свернуть

Портирование за main'-овых патчей A2 : Патчестроение : Патчи : Форум : Для Sony Ericsson патчи эльфы моддинг прошивка
/  Список форумов
   /  Патчи
      /  Патчестроение
   /  Портирование за main'-овых патчей A2
На печать 
Правила 
Страница 1 из 17: [1] 2 3 4 5 ... 17 »

SEVENI


Expert


Регистрация: 10.8.08
Сообщений: 126
Репутация: 1650
Откуда: Ставрополь




 
  #1 [06.03.10, 19:21] Портирование за main'-овых патчей A2   

 
Нам понадобится:
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 Compilator.zip (64.08 kb; 262 hits) Скачать файл
read3150.zip read3150.zip (49.61 kb; 154 hits) Скачать файл
patsearchnt.zip patsearchnt.zip (178.99 kb; 235 hits) Скачать файл
Idc.zip Idc.zip (6.82 kb; 233 hits) Скачать файл
ida_cxcldr.zip ida_cxcldr.zip (70.30 kb; 286 hits) Скачать файл


Samsung GT-I9103 4.0.4
Canon 60D + Sigma 50mm 1.4, canon 17-40 4L
Спасибо сказали: Desperanto, MNS81, HotRabbit, zapret, ENSAIER, Oganyan-Arthur, D3mon, MAVER145, evgenij-sv, Yoti, Sotik11, Melodic_Death, razkolbazzz, machiner113, Amw, pashnyov, Aang, sc0rpi0n3, Cyber-Jack, a6b6

Va_st


Patchmaster


Регистрация: 3.8.08
Сообщений: 440
Репутация: 1142





 
  #2 [06.03.10, 20:19] Re: Портирование за main'-овых патчей A2   

 
критика епт)
SEVENI писал:
переходим по адресу 126cd0e0 в прошивке и нажимаем "C" на всех жёлтых адресах ниже,

странно конечно,но у меня после открытия врезок тело патча само открывается))
SEVENI писал:
теперь все 4-х байтные строки паттерна мы заменяем на Код:
??,??,??,?? т.е ??,??,??,FD => ??,??,??,??

??,??,??,F?=так будет лучше=) команда bl же( паттерн порой получается короче)SEVENI писал:
добавляем Thumb-режим CODE16 (не обязательно)

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




j10i2 r7ca061
Спасибо сказали: Desperanto

SEVENI


Expert


Регистрация: 10.8.08
Сообщений: 126
Репутация: 1650
Откуда: Ставрополь




 
  #3 [06.03.10, 21:00] Re: Портирование за main'-овых патчей A2   

 
Va_st, 1) инструкция не для конкретного патча, а для всех, бывает и такое, что тело патча не до конца превращается в код
2) это уже для патчей, которые трудно портировать, обычным способом и так находит
3) я довел до ума, что можно как ставить, так и не ставить, но заметь, сам написал =)
зы а других прошивок/патчей в наличии нет пока что и версия компилятора меня устраивает, кому нужно будет, скачают новый =)




Samsung GT-I9103 4.0.4
Canon 60D + Sigma 50mm 1.4, canon 17-40 4L

den_po


Developer/Admin


Регистрация: 27.3.06
Сообщений: 3278
Репутация: 10763
Откуда: Чебоксары




 
  #4 [07.03.10, 00:35] Re: Портирование за main'-овых патчей A2   

 
Va_st пишет:
??,??,??,F?=так будет лучше=) команда bl же( паттерн порой получается короче)

насколько я помню, patsearch не умеет такого, F? для него имеет то же значение, что ??




promt is better than google translate

IronMaster


VIP Developer


Регистрация: 16.5.06
Сообщений: 1135
Репутация: 8514
Откуда: Пермь




 
  #5 [07.03.10, 08:09] Re: Портирование за main'-овых патчей A2   

 
Если быть точнее, то сигнатура бл имеет вид
??F???F?




K700->W810->W850->W705 & W995 (cid81)
==========
WMZ307721639637
WMR675285842893
Спасибо за пожертвования:
Resp, ploik, BanditNN, AlexTin, polza, romanchenko, Ryabchik, Ax, [b]Desp

DuXeN0N


Patcher/Elfmaker


Регистрация: 17.8.08
Сообщений: 230
Репутация: 842
Откуда: Урал




 
  #6 [07.03.10, 19:59] Re: Портирование за main'-овых патчей A2   

 
SEVENI, че-то ниче особенного я не увидел.)) отличается только тем, что адреса другие. =) смысл был писать FAQ?

P.S. Но все равно спс, вдруг кому пригодится





D3mon


Developer


Регистрация: 23.2.08
Сообщений: 1141
Репутация: 10348
Откуда: Краснодар




 
  #7 [11.03.10, 16:58] Re: Портирование за main'-овых патчей A2   

 
Решил написать именно сюда..
Открываю я 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?




Sony Xperia XZ3 Green
Sony Xperia Z3 Compact Orange
W995i SW-R1GA026
:(

Xamid


Patchmaster


Регистрация: 26.8.07
Сообщений: 449
Репутация: 1965
Откуда: Ростов-на-Дону




 
  #8 [11.03.10, 17:29] Re: Портирование за main'-овых патчей A2   

 
лично я делаю по-другому. Тело портирую отдельно через raw по старинке =)


Добавлено 11.3.10 17:42

http://forum.se-team.com/showthread.php?t=20
для тех, кто не в курсе про "по старинке" =)




SGS3 white
Спасибо сказали: D3mon, Mikaёль

xGhost


Опытный


Регистрация: 21.12.09
Сообщений: 243
Репутация: 727
Откуда: Izhevsk




 
  #9 [11.03.10, 17:46] Re: Портирование за main'-овых патчей A2   

 
Xamid, а если патч большой, тоже "по старинке"?




SE C510 R1HA035
SE J20i Hazel Black/White R7CA065

Sony Ericsson arc S White 4.1.B.0.587 Rooted

A1z


Patchmaster


Регистрация: 18.11.07
Сообщений: 236
Репутация: 816
Откуда: Минск




 
  #10 [11.03.10, 17:51] Re: Портирование за main'-овых патчей A2   

 
D3mon, возьми с помощью farcxcpatcher примени патч типа:

Патч: 
15F00000: 00 FF


и твой phone_app.cxc расширится как минимум до 15F00000.




W715 SW-R1GA030
Sony Xperia Z1
Спасибо сказали: xGhost, -DeJaVu-, D3mon, Alex1992, evgenij-sv, Sotik11, Happy, a6b6
Страница 1 из 17: [1] 2 3 4 5 ... 17 »


Похожие темы
 ТемаОтветыАвторПросмотрыОбновление
  Обсуждение патчей A22794Zormax140363210.10.17, 10:34
  Идеи и запросы патчей A2 (new)543Zormax35240127.10.21, 07:30
  Обсуждение патчей (2)340Zormax24043427.04.20, 07:36
  Исходники патчей31Adrenalin6338128.04.17, 23:11
  Портирование функций (Видео)92yr4ik8591328.12.16, 23:37
  Исходники патчей на IAR15ploik2622313.11.16, 17:32
  Идеи и запросы патчей (DB 2020/PNX 5230)5588Zormax228895211.09.15, 22:05
  Идеи и запросы патчей (DB2000/DB201x)3405Makedon139953004.08.15, 17:00

  • Поиск
  • Права
Вы не можете начинать темы.
Вы не можете редактировать свои сообщения.
Вы не можете создавать опросы.
Вы не можете вкладывать файлы в сообщения.
Вы не можете отвечать на сообщения.
Вы не можете удалять свои сообщения.
Вы не можете голосовать.

Главная Новости Статьи Файлы Патчи Форум Опросы PDA
- Генерация страницы: 0.2 секунд | 12 Запросов | HTML: 79.42 КБ -