Учимся писать патчи : Патчестроение : Форум |
Страница 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 |
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 supertrubka.org |