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

Страница 112 из 180: « 1 ... 108 109 110 111 [112] 113 114 115 116 ... 180 »

 jamesbond22:
07.05.09, 20:23
 I try to port this patch. I can't stop recording. When i press in "Save" then message does not dissapear. Can anyone help me?
Function void *SoundRecorderDesc_Create is different in phone A2 i think.

My source:
Код: 
;W595 SW-R3EA037 LT
;Добавить пункт "Записать" в Функции в Фм-Радио

include "x.inc"


org 0x10FA53D0
LDR     R0, offs
BX      R0
align 4
offs    DCD patch+1
nop
skip:

org 0x126cd980
patch:
        LDR    R2, off_45CF1AEC
        MOV    R1, 0x11
        LDR    R0, [R4,0x18]
        BL    sub_45CF1A98
        LDR    R2, dw_record
        MOV    R1, 0x11
        LDR    R0, [R4,0x18]
        BL    sub_45CF1A9C
        LDR    R0, [R4,0x18]
        ADD    R2, R5,    0
        ADD    R1, R7,    0
        BL    sub_45CF1A98
        LDR    R3, addr_skip
        BX    R3

loc_45CF1A52:
        PUSH    {R0-R7,LR}
        ADD    R4, R0,    0
        BL    sub_45CF1AC8
        ADD    R7, R0,    0
        BEQ    loc_45CF1A96
        MOV    R1, 0
        MVN    R1, R1
        ADD    R0, R7,    0
        BL    sub_45CF1AA4
        MOV    R1, 1
        ADD    R0, R7,    0
        BL    sub_45CF1AA8
        LDR    R1, dword_45CF1AF4
        LDR    R1, [R4,R1]
        ADD    R0, R7,    0
        BL    sub_45CF1AAC
        adr    R1, aCardOther    ; "/card/other"
        ADD    R0, R7,    0
        BL    sub_45CF1AB0
        adr    R1, aFm_amr    ; "fm.amr"
        ADD    R0, R7,    0
        BL    sub_45CF1AB4
        ADD    R0, R7,    0
        BL    sub_45CF1AB8
        ADD    R0, R7,    0
        BL    sub_45CF1ABC

loc_45CF1A96:
        POP    {R0-R7,PC}

sub_45CF1A98:
        LDR    R3, off_45CF1AC0
        BX    R3

sub_45CF1A9C:
        LDR    R3, off_45CF1AC4
        BX    R3

sub_45CF1AC8:
        LDR    R3, off_45CF1AC8
        BX    R3

sub_45CF1AA4:
        LDR    R3, off_45CF1ACC
        BX    R3

sub_45CF1AA8:
        LDR    R3, off_45CF1AD0
        BX    R3

sub_45CF1AAC:
        LDR    R3, off_45CF1AD4
        BX    R3

sub_45CF1AB0:
        LDR    R3, off_45CF1AD8
        BX    R3

sub_45CF1AB4:
        LDR    R3, off_45CF1ADC
        BX    R3

sub_45CF1AB8:
        LDR    R3, off_45CF1AE0
        BX    R3

sub_45CF1ABC:
        LDR    R3, off_45CF1AE4
        BX    R3

align 4
off_45CF1AC0 DCD 0x1080D364+1
off_45CF1AC4 DCD 0x1080D3DC+1
off_45CF1AC8 DCD 0x10E4AEF9
off_45CF1ACC DCD 0x10E4AF71
off_45CF1AD0 DCD 0x10E4AF9D
off_45CF1AD4 DCD 0x10E4B04D
off_45CF1AD8 DCD 0x10E4AFB1
off_45CF1ADC DCD 0x10E4AFCD
off_45CF1AE0 DCD 0x10E4B061
off_45CF1AE4 DCD 0x10E4AF55
addr_skip    DCD skip+1
off_45CF1AEC DCD loc_45CF1A52+1
dw_record DCD 0x576
dword_45CF1AF4 DCD 0x33c
align 4
aCardOther du "/card/other",0
align 4
aFm_amr du "fm.amr",0



-BourNe-,
IDA -> Options -> General -> Analysis -> Processor specific analysis options -> select "Disable pointer dereferencing" -> OK -> Reanalyze program -> OK.

[ Edited by jamesbond22 в 8.5.09 06:51 ]

Added 9.5.09 11:15

Now i trying port patch "Hourly sound". I port all addresses correct! File hourly.mp3 does not play at time 10.00, 11.00, 12.00.... Is some developer who redevelop this source for phone A2?
Код: 
;W595 SW-R3EA037 LT
;Hourly sound
;Place file hourly.mp3 to folder /tpa/preset/system/sound/
;(c) Sic
;(p) jamesbond22

include "x.inc"


org 0x10D8D9B2
BLX R0

org 0x10D8DB34
dw patchbody+1

org 0x126CDAd0
patchbody:
LDR    R0, addr1
ADD R1, SP, 0
PUSH    {R0-R7,LR}
LDR    R3, addr2
BLX    R3
CMP    R0, 0
BNE    loc_POP
LDR    R0, addr5
LDR    R3, addr6
BLX    R3
CMP    R0, 0
BNE    loc_POP
LDRB    R0, [R1,5]
CMP    R0, 0
BNE    loc_POP
LDRB    R0, [R1,6]
CMP    R0, 0
BNE    loc_POP
adr    R2, numbers
LDRB    R3, [R1,4]
LDRB    R4, [R2]
LDRB    R5, [R2,1]
LDRB    R6, [R2,2]
CMP    R3, R4
BCC    loc1
B    loc_POP

loc1:
CMP    R3, R5
BHI    loc_plafile
B    loc_POP

loc_plafile:
LDR    R7, addr4
CMP    R6, 0
BEQ    loc3
ADD    R7, 4

loc3:
LDR    R0, addr3
adr    R1, name_file
MOV    R2, 6
BLX    R7

loc_POP:
POP    {R0-R7,PC}

align 4
addr1 dw 0x11B3BFC0
addr2 dw 0x119DE57D
addr3 dw 0x11DA5730
addr4 dw 0x119E00AD
addr5 dw 0x10FA7959
addr6 dw 0x10DF01B5
name_file du "hourly.mp3",0
align 4
numbers DCB 0x16
DCB 9
DCB 1


 Joker XT:
10.05.09, 20:26
 Код:
    ldr r1, viewchannel
    b loc_4
loc_4:
    ldr r7, BookObj_CallPage

Зачем такая конструкция?))) убери эту "b loc_4"

И что у тебя подаётся в R0? =) не бук ведь

Сделай так:
Код: 
addr1  dw 0x45107C66
    PUSH {R0-R7,LR}
    ldr R0, isFmRadioBook 
    ldr r6, FindBookEx 
    blx r6
    cmp r1, 0x17
    beq loc_1
    cmp r1, 0x18
    beq loc_2
    cmp r1, 0x19
    beq loc_3
    b loc_5

loc_1:
    mov  r1, 0     
    ldr  r7, SwitchRadioStationFromList 
    blx  r7
    POP {R0-R7, PC}
loc_3:
    mov r1, 1
    ldr r7, SwitchRadioStationFromList
    blx r7
    POP {R0-R7, PC}
loc_2:
    cmp r0, 0
    beq loc_5
    ldr r1, viewchannel
    ldr r7, BookObj_CallPage
    blx r7   
loc_5:
    POP     {R0-R7, PC}


 jamesbond22:
10.05.09, 20:37
 
Код: 
;W595 SW-R3EA037 LT
;Set event on closing slider (keylock, sleepmode, go to standby,...)

include "x.inc"


org 0x10deeda2
LDR R0, offset
BLX R0

org 0x10deedac
offset DCD patchbody+1

org 0x126cdb00
patchbody:
PUSH {LR}
CMP R5, 0x4e
BNE neededcode1
MOV R0, 0x36
LDR R7, sub_setEvent
BLX R7
LDR R0, event
BLX R7
POP {R2-R7,PC}

neededcode1:
adr R0, neededcode2
LSL R7, R7, 1
POP {PC}

align 4
neededcode2:
LSL R2, R1, 0
LSL R2, R6, 6
LSL R6, R1, 0xA
LSL R0, R6, 4
LSL R4, R0, 9

align 4
event DCD 0x5e28
sub_setEvent DCD 0x10def48c+1


I have problem with this source. Event "0x36" (closing slider) not work...


Added 11.5.09 14:18

Код: 
;W595 SW-R3EA037 LT
;Quick access to the functions of the phone via the number keys 2-9 in standby mode
;Added the appointment of events
;Replace ???????? to the desired function/Event
;v.2
;(c) Sic
;(p) jamesbond22

include "x.inc"


org 0x11b65c44
DCD p_body+1
DCB 0x0

org 0x126cdb30
p_body:
PUSH    {R0-R7,LR}
LDR    R7, Find_StandbyBook
BLX    R7
LDR    R7, SBY_GetMainInput
BLX    R7
LDR    R7, MainInput_getPNUM
BLX    R7
LDRB    R3, [R0]
MOVL    R4, 0x10000
CMP    R3, 0xF1
BNE    button2
LDR    R0, shortcut1
CMP    R0, R4
BCC    loc_UI_Event
B    loc_to_address

button2:
CMP    R3, 0xF2
BNE    button3
LDR    R0, shortcut2
CMP    R0, R4
BCC    loc_UI_Event
B    loc_to_address

button3:
CMP    R3, 0xF3
BNE    button4
LDR    R0, shortcut3
CMP    R0, R4
BCC    loc_UI_Event
B    loc_to_address

button4:
CMP    R3, 0xF4
BNE    button5
LDR    R0, shortcut4
CMP    R0, R4
BCC    loc_UI_Event
B    loc_to_address

button5:
CMP    R3, 0xF5
BNE    button6
LDR    R0, shortcut5
CMP    R0, R4
BCC    loc_UI_Event
B    loc_to_address

button6:
CMP    R3, 0xF6
BNE    button7
LDR    R0, shortcut6
CMP    R0, R4
BCC    loc_UI_Event
B    loc_to_address

button7:
CMP    R3, 0xF7
BNE    button8
LDR    R0, shortcut7
CMP    R0, R4
BCC    loc_UI_Event
B    loc_to_address

button8:
CMP    R3, 0xF8
BNE    button9
LDR    R0, shortcut8
CMP    R0, R4
BCC    loc_UI_Event
B    loc_to_address

button9:
CMP    R3, 0xF9
BNE    loc_POP
LDR    R0, shortcut9
CMP    R0, R4
BCC    loc_UI_Event

loc_to_address:
LDR    R7, address
B    loc_BLX

loc_UI_Event:
LDR    R7, UI_Event

loc_BLX:
BLX    R7

loc_POP:
POP    {R0-R7,PC}

align 4
Find_StandbyBook DCD 0x10D8D728+1
SBY_GetMainInput DCD 0x10F2A3C0+1
MainInput_getPNUM DCD 0x10D8D258+1
address DCD 0x10DDCC5C+1
UI_Event    DCD 0x10DEF48C+1

shortcut1    DCD 0x5E28
shortcut2    DCD 0
shortcut3    DCD 0
shortcut4    DCD 0x11B62878 ;Msg_inbox
shortcut5    DCD 0
shortcut6    DCD 0
shortcut7    DCD 0
shortcut8    DCD 0
shortcut9    DCD 0

Nothing happens on long press in key.
This source must be redevelop. Is some developer who get it?

 Joker XT:
11.05.09, 20:32
 нууу, проблема..

Код: 
addr1  dw 0x45107C66
    PUSH {R0-R7,LR}
    push {r1}
    ldr R0, isFmRadioBook 
    ldr r6, FindBookEx 
    blx r6
    pop {r1}
    cmp r1, 0x17
    beq loc_1
    cmp r1, 0x18
    beq loc_2
    cmp r1, 0x19
    beq loc_3
    b loc_5

loc_1:
    mov  r1, 0     
    ldr  r7, SwitchRadioStationFromList 
    blx  r7
    POP {R0-R7, PC}
loc_3:
    mov r1, 1
    ldr r7, SwitchRadioStationFromList
    blx r7
    POP {R0-R7, PC}
loc_2:
    cmp r0, 0
    beq loc_5
    ldr r1, viewchannel
    ldr r7, BookObj_CallPage
    blx r7   
loc_5:
    POP     {R0-R7, PC}


 den_po:
11.05.09, 21:33
 подозрительные порты heap shift в обратном порядке

;K660i SW-R1FA037
;(p) kroco_bodo
;info 4 patchmakers: 2A2AC3EC...2A2BC3EB

;K660i SW-R1FA035
;(p) SOAD
;(i) 7458985
;info 4 patchmakers: 2A2AC3EC...2A2BC3EB

;W890i SW-R1FA035
;(p) SOAD
;(i) Bardzo dziwnie się ten patch robiło :P
;info 4 patchmakers: 2A2AC3EC...2A2BC3EB

;W910 SW-R1FA037
;(p) Photographer
;info 4 patchmakers: 2A2AC3EC...2A2BC3EB

;K630 SW-R1FA032
;(p) fpopic
;(!) Fixed jump / Jockep
;info 4 patchmakers: 2A2AC3EC...2A2BC3EB

;W910 SW-R1FA035
;(p) E1kolyan
;info 4 patchmakers: 2A2AC3EC...2A2BC3EB

если последнему я верю, то всем остальным - нет

 KrasH:
11.05.09, 21:42
 угу...плюс еще хипшифт не работает на а2,тк должен стартовать до возможности стартовать яву...и не пытайтесь меня переубедить

 Va_st:
11.05.09, 21:49
 ;W910 SW-R1FA035
;(p) E1kolyan
;info 4 patchmakers: 2A2AC3EC...2A2BC3EB

от этого 2 патча пашут)))это факт,убеждать не собираюсь :-)


Добавлено 11.5.09 23:50

случайность скорее всего..... ;-)

 den_po:
11.05.09, 21:57
 Va_st, стабильность таких патчей под сомнением. до хипшифта уже наступали на эти грабли. а на а2 хипшифт даже если и правильный (из вышеперечисленных - один), из жавы его ставить бесполезно.

 PRO100light:
13.05.09, 01:07
 Хочу отредактировать патч Патч:
;Add a new item on the Startup menu (normal / flight mode etc), which shuts down Elfpack.
;Patch compatible with Elfpack Mod by Tartes since version 1.9.1
;Now do not have to choose between standard and heapshift version of Elfpack
;v.2
;Added 4 point "Music"
;Added 5th option: FM radio

Так что бы, имя пункта "Без эльфов" и его Инфо бралось не из байтов в патче, а из lng.

Значит... примерно, было так:
Код: 
loc_45CAB41A:
        adr    R0, byte_45CAB4E8
        mov    R1, 0
        mov    R2, 0xB
        ldr    R6, _addr2
        blx    R6
        add    R1, R0,    0
        add    R0, R4,    0
        ldr    R7, _addr3
        blx    R7
        adr    R0, byte_45CAB500
        mov    R1, 0
        mov    R2, 0x12
        blx    R6
        ldr    R7, _addr3
        add    R1, R0,    0
        add    R0, R4,    0
        add    R7, 0x10
        blx    R7
        ldr    R2, dword_45CAB550
        mov    R1, 0
        add    R0, R4,    0
        add    R7, 0x68
        blx    R7
        b    loc_45CAB484

Сделал так:
Код: 
loc_45CAB41A:
        adr    R0, byte_45CAB4E8
        mov    R1, 0
        mov    R2, 0xB
        ldr    R6, _addr2
        blx    R6
        add    R1, R0,    0
        add    R0, R4,    0
        ldr    R7, _addr3
        blx    R7
        ldr    R6, dword_00000005
        ldr    R7, _addr3
        add    R1, R6,    0
        add    R0, R4,    0
        add    R7, 0x10
        blx    R7
        ldr    R2, dword_45CAB550
        mov    R1, 0
        add    R0, R4,    0
        add    R7, 0x68
        blx    R7
        b    loc_45CAB484

Инфо берется из lng, а вот если пунк отредактировать так же как редактировал Инфо, то имя меняется но ребутит при выборе этого режима. _addr2, я понял функциональный для этого режима.... А как его сохранить то?

 vile:
13.05.09, 09:22
 А смысл изобретать велосипед? И так ведь всё работает ни кому ни холодно ни жарко станет если будет браться из *.lng
Страница 112 из 180: « 1 ... 108 109 110 111 [112] 113 114 115 116 ... 180 »

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

© 2005-2018 supertrubka.org