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

Страница 118 из 180: « 1 ... 114 115 116 117 [118] 119 120 121 122 ... 180 »

 jamesbond22:
11.06.09, 15:18
 Xamid писал:
Runtime patcher can't patch db3210

How do you know?

 Xamid:
11.06.09, 16:11
 jamesbond22, you can ask that from den_po =)

 jamesbond22:
11.06.09, 16:33
 Xamid, so you asked den_po about patchable db3210. Hence you know that is db3210 is not patchable.

 MiFa:
11.06.09, 21:28
 Huh i need help, sorry for english but i dont know rus, im translating all to pol/eng.
Im trying port

Патч:
;W595 SW-R3EA037 LT
;Add in information about a file to display the file size in bytes.
;v2
;Now works with photos
;© Tartes
;(p) jamesbond22


to my c902 (FW-R3EA038) after port addrs, hooks etc finished asm compiled to vkp but patch dont work :/
My asm for this patch looks that, i think its correctly becouse for test im copiled this asm to phon_app w595 and looks exactlly like oryginal posted for james.

Код: 

include "x.inc"

patchbody = 0x126cdcf0
addr1 = 0x126CDCF0+1
addr2 = 0x126CDD08+1
addr3 = 0x117F7450+1
addr4 = 0x10F61DFC+1
addr5 = 0x10F61C28+1
addr6 = 0x117E2512+1
addr7 = 0x117E54D2+1

org 0x117e2506

LDR R1, off_117E250C
BX R1
align 4

off_117E250C DCD  addr1


org 0x117e54c8

LDR R1, off_117E54CC
BX R1
off_117E54CC DCD  addr2
NOP


org patchbody

loc_126CDCF0:

LDR R0, [R0,0x1C]
ADD R6, R0, 0
MOV R1, 0
LDR R2, off_126CDD4C
BLX R2
ADD R1, R6, 0
BL sub_126CDD1C
STR R0, [R5,0x28]
MOV R6, 0xB
LDR R2, off_126CDD58
BX R2


loc_126CDD08:

ADD R2, R6, 0
MOV R1, 5
ADD R0, SP, 0xC
LDR R4, off_126CDD50
BLX R4
LDR R1, [SP,8]
BL sub_126CDD1C
LDR R4, off_126CDD5C
BX R4




sub_126CDD1C:


var_2C = -0x2C
var_28 = -0x28
var_24 = -0x24
var_20 = -0x20
var_1C = -0x1C
var_18 = -0x18
var_14 = -0x14

PUSH {R1-R3,LR}
SUB SP, SP, 0x1C
STR R0, [SP,0x2C+var_2C]
LDR R0, dword_126CDD68
STR R0, [SP,0x2C+var_28]
LDR R0, dword_126CDD60
STR R0, [SP,0x2C+var_24]
ADD R0, R1, 0
LDR R2, off_126CDD54
BLX R2
STR R0, [SP,0x2C+var_20]
LDR R0, dword_126CDD68
STR R0, [SP,0x2C+var_1C]
LDR R0, dword_126CDD6C
STR R0, [SP,0x2C+var_18]
LDR R0, dword_126CDD64
STR R0, [SP,0x2C+var_14]
ADD R0, SP, 0x2C+var_2C
MOV R1, 5
MOV R2, 7
LDR R3, off_126CDD50
BLX R3
ADD SP, SP, 0x1C
POP {R1-R3,PC}


off_126CDD4C DCD addr3
off_126CDD50 DCD addr4

off_126CDD54 DCD addr5
off_126CDD58 DCD addr6
off_126CDD5C DCD addr7
dword_126CDD60 DCD 0x78000028
dword_126CDD64 DCD 0x78000029
dword_126CDD68 DCD 0x780000A0

dword_126CDD6C DCD 0x665


Thx for help.

 ndt:
12.06.09, 15:16
 :-o

i disassembled patch on k770 R8BA024. here is the result (gnu style)

1st hook place
Код:
ROM:44FF2CC8
ROM:44FF2CC8 hook0:
ROM:44FF2CC8                 LDR     R1, _hook0_sub
ROM:44FF2CCA                 BX      R1
ROM:44FF2CCA @ ---------------------------------------------------------------------------
ROM:44FF2CCC _hook0_sub:     .long hook0_sub+1


2nd hook place
Код: 
ROM:44FF5836
ROM:44FF5836 hook1:
ROM:44FF5836                 LDR     R1, _hook1_sub
ROM:44FF5838                 BX      R1
ROM:44FF583A                 NOP
ROM:44FF583A @ ---------------------------------------------------------------------------
ROM:44FF583C _hook1_sub:     .long hook1_sub+1


and finally hook code
Код: 
ROM:45D18CB0 @ =============== S U B R O U T I N E =======================================
ROM:45D18CB0
ROM:45D18CB0 hook0_sub:
ROM:45D18CB0                 LDR     R0, [R0,#0x1C]
ROM:45D18CB2                 MOV     R6, R0
ROM:45D18CB4                 MOV     R1, #0
ROM:45D18CB6                 LDR     R2, _sub_unk0
ROM:45D18CB8                 BLX     R2
ROM:45D18CBA                 MOV     R1, R6
ROM:45D18CBC                 BL      make_fsize_str
ROM:45D18CC0                 STR     R0, [R5,#0x28]
ROM:45D18CC2                 MOV     R6, #0xB
ROM:45D18CC4                 LDR     R2, _hook0_retn
ROM:45D18CC6                 BX      R2
ROM:45D18CC6 @ End of function hook0_sub


ROM:45D18CC8 @ =============== S U B R O U T I N E =======================================
ROM:45D18CC8
ROM:45D18CC8 hook1_sub:                              @ CODE XREF: ROM:44FF5838j
ROM:45D18CC8                 MOV     R2, R6
ROM:45D18CCA                 MOV     R1, #5
ROM:45D18CCC                 ADD     R0, SP, #0xC
ROM:45D18CCE                 LDR     R4, _Str2ID
ROM:45D18CD0                 BLX     R4
ROM:45D18CD2                 LDR     R1, [SP,#8]
ROM:45D18CD4                 BL      make_fsize_str
ROM:45D18CD8                 LDR     R4, _hook1_retn
ROM:45D18CDA                 BX      R4
ROM:45D18CDA @ End of function hook1_sub


ROM:45D18CDC @ =============== S U B R O U T I N E =======================================
ROM:45D18CDC
ROM:45D18CDC make_fsize_str:                         @ CODE XREF: hook0_sub+Cp
ROM:45D18CDC                                         @ hook1_sub+Cp
ROM:45D18CDC                 PUSH    {R1-R3,LR}
ROM:45D18CDE                 SUB     SP, SP, #0x1C
ROM:45D18CE0                 STR     R0, [SP]
ROM:45D18CE2                 LDR     R0, dw_780000A0
ROM:45D18CE4                 STR     R0, [SP,#4]
ROM:45D18CE6                 LDR     R0, _left_par
ROM:45D18CE8                 STR     R0, [SP,#8]
ROM:45D18CEA                 MOV     R0, R1
ROM:45D18CEC                 LDR     R2, _int2strID
ROM:45D18CEE                 BLX     R2
ROM:45D18CF0                 STR     R0, [SP,#0xC]
ROM:45D18CF2                 LDR     R0, dw_780000A0
ROM:45D18CF4                 STR     R0, [SP,#0x10]
ROM:45D18CF6                 LDR     R0, _str_B
ROM:45D18CF8                 STR     R0, [SP,#0x14]
ROM:45D18CFA                 LDR     R0, _right_par
ROM:45D18CFC                 STR     R0, [SP,#0x18]
ROM:45D18CFE                 ADD     R0, SP, #0
ROM:45D18D00                 MOV     R1, #5
ROM:45D18D02                 MOV     R2, #7
ROM:45D18D04                 LDR     R3, _Str2ID
ROM:45D18D06                 BLX     R3
ROM:45D18D08                 ADD     SP, SP, #0x1C
ROM:45D18D0A                 POP     {R1-R3,PC}
ROM:45D18D0A @ End of function make_fsize_str
ROM:45D18D0A @ ---------------------------------------------------------------------------

ROM:45D18D0C _sub_unk0:      .long sub_unk0+1
ROM:45D18D10 _Str2ID:        .long Str2ID+1
ROM:45D18D14 _int2strID:     .long int2strID+1

ROM:45D18D18 _hook0_retn:    .long hook0_retn+1
ROM:45D18D1C _hook1_retn:    .long hook1_retn+1

ROM:45D18D20 _left_par:      .long 0x78000028
ROM:45D18D24 _right_par:     .long 0x78000029
ROM:45D18D28 dw_780000A0:    .long 0x780000A0

ROM:45D18D2C _str_B:         .long str_B

as you can see you need to locate "B" string ID in lng file

 PRO100light:
25.06.09, 15:11
 Объясните мне что такое ХипШифт? И какие премудрости при портире патчей которые пользуются ХипШифтом?


Добавлено 25.6.09 14:51

Я значит сделал исходник патча, но не могу его скомпилить. Вот в этом куске есть всякие LSL16, LSR16, LSL4, и он именно на них ругается. Говорит типо: невозможная операция... Как быть?
Код: 
loc_45DA0638:

ORR R3, R3, 0xFF00
ADD R2, R3, R2
MOV R2, R2,LSL16
MOV R2, R2,LSR16

loc_45DA0648:

ORR R1, R2, R1,LSL4
LDRH R2, [R0]
CMP R2, 0x2E
BNE loc_45DA05F8


 den_po:
25.06.09, 15:55
 PRO100light,
во-первых, учись отделять данные от исполняемого кода.
во-вторых, скачай доку по ассемблеру арм и погляди там синтаксис команд.

 jamesbond22:
25.06.09, 21:23
 I tried port patch SysGfx to A2. It is not hard to port it. But from 2 to 4 functions used is in a different way in the A2. And patch SysGfx to work must be patched in main?

 PRO100light:
27.06.09, 15:20
 ...объясните пожалуйста как правильно портировать heepshift адреса в патче...

 Va_st:
27.06.09, 15:30
 PRO100light, просто берешь адрес рамы из интервала патча heapshift,кратно 4,и чтоб не занят был другим патчем
Страница 118 из 180: « 1 ... 114 115 116 117 [118] 119 120 121 122 ... 180 »

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

© 2005-2018 mobilefree.justdanpo.ru