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

Страница 57 из 180: « 1 ... 53 54 55 56 [57] 58 59 60 61 ... 180 »

 joker777:
03.03.08, 11:01
 сорь за тупой вопрос но все же.....Как по текстовым меткам выйти на нужную функцию?если можно-на примере.ну вот всмысле я перешел-вижу метки-эквалайзер,режим воспроизв. и т.д.
Код: 
ROM:4543BF84 7D C3 43 45 off_4543BF84    DCD loc_4543C37C+1      ; DATA XREF: sub_4543BE04+24r
ROM:4543BF88 E1 0C 00 00 dword_4543BF88  DCD 0xCE1               ; DATA XREF: sub_4543BE04+2Er
ROM:4543BF8C 79 C2 43 45 off_4543BF8C    DCD loc_4543C278+1      ; DATA XREF: sub_4543BE04:loc_4543BE4Cr
ROM:4543BF90 C9 0C 00 00 dword_4543BF90  DCD 0xCC9               ; DATA XREF: sub_4543BE04+52r
ROM:4543BF94 A9 C3 43 45 off_4543BF94    DCD sub_4543C3A8+1      ; DATA XREF: sub_4543BE04+66r
ROM:4543BF98 C6 0C 00 00 dword_4543BF98  DCD 0xCC6               ; DATA XREF: sub_4543BE04+70r
ROM:4543BF9C 41 C4 43 45 off_4543BF9C    DCD loc_4543C440+1      ; DATA XREF: sub_4543BE04+8Ar
ROM:4543BFA0 B7 0C 00 00 dword_4543BFA0  DCD 0xCB7               ; DATA XREF: sub_4543BE04+94r
ROM:4543BFA4 15 C4 43 45 off_4543BFA4    DCD loc_4543C414+1      ; DATA XREF: sub_4543BE04+A8r
ROM:4543BFA8 AE 0C 00 00 dword_4543BFA8  DCD 0xCAE               ; DATA XREF: sub_4543BE04+B2r
ROM:4543BFAC 21 C4 43 45 off_4543BFAC    DCD loc_4543C420+1      ; DATA XREF: sub_4543BE04+C6r
ROM:4543BFB0 C8 0C 00 00 dword_4543BFB0  DCD 0xCC8               ; DATA XREF: sub_4543BE04+D0r
ROM:4543BFB4 35 C4 43 45 off_4543BFB4    DCD loc_4543C434+1      ; DATA XREF: sub_4543BE04+E4r
ROM:4543BFB8 5D 04 00 00 dword_4543BFB8  DCD 0x45D               ; DATA XREF: sub_4543BE04+EEr
ROM:4543BFBC 41 C5 43 45 off_4543BFBC    DCD loc_4543C540+1      ; DATA XREF: sub_4543BE04+102r
ROM:4543BFC0 E5 C4 43 45 off_4543BFC0    DCD loc_4543C4E4+1      ; DATA XREF: sub_4543BE04+122r
ROM:4543BFC4 AA 0C 00 00 dword_4543BFC4  DCD 0xCAA               ; DATA XREF: sub_4543BE04+12Cr
ROM:4543BFC8 85 C5 43 45 off_4543BFC8    DCD loc_4543C584+1      ; DATA XREF: sub_4543BE04+140r
ROM:4543BFCC D7 0C 00 00 dword_4543BFCC  DCD 0xCD7               ; DATA XREF: sub_4543BE04+14Ar
ROM:4543BFD0 2D C2 43 45 off_4543BFD0    DCD loc_4543C22C+1      ; DATA XREF: sub_4543BE04+160r
ROM:4543BFD4 F1 C1 43 45 off_4543BFD4    DCD loc_4543C1F0+1      ; DATA XREF: sub_4543BE04+16Ar
ROM:4543BFD8 AF 0F 00 00 dword_4543BFD8  DCD 0xFAF               ; DATA XREF: sub_4543BE04+16Cr
ROM:4543BFDC A1 C0 43 45 off_4543BFDC    DCD sub_4543C0A0+1      ; DATA XREF: sub_4543BE04+174r
ROM:4543BFE0 B2 0F 00 00 dword_4543BFE0  DCD 0xFB2
через них на функцию как выйти?

[ Редактировано joker777 в 3.3.08 11:43 ]

[ Редактировано joker777 в 3.3.08 11:52 ]

 Virusmater:
13.03.08, 14:59
 
Код: 
include "x.inc" 
addr1 = 0x44F3CA3D 
addr2 = 0x45104D9D 
addr3 = 0x4520FF19 
addr4 = 0x452A44C1 
addr5 = 0x45102F85 
addr6 = 0x452A6055 
addr7 = 0x452A40F9 
addr8 = 0x452A27ED 
patch = 0x45A9E140 
         org patch 
   code16 
   push    {R2-R7,LR} 
   ldr    R7, dword_45CE0388 
   ldrb    R6, [R7] 
   cmp    R6, 0 
   bne    loc_45CE030C 
   mov  R0, 1 
   strb    R0, [R7] 
   movl    R0, 0x190 
   adr    R1, sub_45CE0314 
   add  R1, 1 
   bl    sub_45CE0364 
   pop    {R2-R7,PC} 
; --------------------------------------------------------------------------- 
align 4 
loc_45CE030C: 
   add  R6, 1 
   strb    R6, [R7] 
   pop    {R2-R7,PC} 
; --------------------------------------------------------------------------- 
align 4 
       db 0xC0 ; А 
       db 0x46 ; F 

;------ Фун-ия ---- 

align 4 
sub_45CE0314: 
   push    {R2-R7,LR} 
   ldr    R7, dword_45CE0388 
   ldrb    R6, [R7] 
   mov  R1, 0 
   strb    R1, [R7] 
   ldr    R0, _addr6 
   bl    sub_45CE0360 
   cmp    R0, 0 
   bne    loc_45CE0338 
   ldr    R0, _addr7 
   bl    sub_45CE0360 
   cmp    R0, 0 
   bne    loc_45CE034A 
   ldr    R7, _addr8 
   blx    R7 
   pop    {R2-R7,PC} 
; --------------------------------------------------------------------------- 
align 4 
loc_45CE0338: 
   cmp    R6, 1 
   beq    loc_45CE0342 
   bl    sub_45CE035C 
   pop    {R2-R7,PC} 
; --------------------------------------------------------------------------- 
align 4 
loc_45CE0342: 
   ldr    R0, dword_45CE038C 
   ldr    R1, _addr5 
   blx    R1 
   pop    {R2-R7,PC} 
; --------------------------------------------------------------------------- 
align 4 
loc_45CE034A: 
   cmp    R6, 1 
   beq    loc_45CE0354 
   bl    sub_45CE035C 
   pop    {R2-R7,PC} 
; --------------------------------------------------------------------------- 
align 4 
loc_45CE0354: 
   mov  R1, 0 
   ldr    R2, _addr3 
   blx    R2 
   pop    {R2-R7,PC} 
; End of function sub_45CE0314 

;------ Фун-ия ---- 

align 4 
sub_45CE035C: 
   ldr    R1, _addr2 
   bx    R1 
; End of function sub_45CE035C 

;------ Фун-ия ---- 

align 4 
sub_45CE0360: 
   ldr    R1, _addr4 
   bx    R1 
; End of function sub_45CE0360 

;------ Фун-ия ---- 

align 4 
sub_45CE0364: 
   ldr    R3, _addr1 
   bx    R3 
; End of function sub_45CE0364 

; --------------------------------------------------------------------------- 
align 4 
_addr1     dw addr1 
_addr2     dw addr2 
_addr3     dw addr3 
_addr4     dw addr4 
_addr5     dw addr5 
_addr6     dw addr6 
_addr7     dw addr7 
_addr8     dw addr8 
dword_45CE0388     dw 0x2018C409 
align 4 
dword_45CE038C     dw 0x857


скомплил через этот исходник базу, добавил врезку от версии 3.5., но телефон на нажатия - ноль внимания.
все адреса из шапки найдены прально. думаю на раму... вопрос:
как ее искать и где править?


Добавлено 13.3.08 16:20

Так) Взял адрес из фрирам заменил
Код:
dword_45CE0388     dw 0x2018C409 

на
Код:
dword_45CE0388        dw 0x201A5BF0


что дальш? тело опять 0 реакции на нажатие гарнитуры((

 Zormax:
13.03.08, 16:39
 Virusmater
Значит нашел не то.
На практике бывает что код похож но не он, ищи такие же.

 Virusmater:
13.03.08, 19:18
 Млин, а из-за чего портированный патч занимает меньше портированого?

 Joker XT:
13.03.08, 19:22
 Virusmater
ЧТо?

 Virusmater:
13.03.08, 20:00
 хы, вот вот)) вощ вот исходник базы для w610 уже совсеми адресами(без врезок)
Код: 
include "x.inc"
Timer_Set = 0x452A27ED
FreeBook = 0x452A6055
addr3 = 0x45102F85
addr4 = 0x452A40F9
UI_Event = 0x453CE055
addr6 = 0x44F3CA3D
addr7 = 0x45104D9D
addr8 = 0x4520FF19
patch = 0x45A9E140
        org patch
        code16
        push    {R2-R7,LR}
        ldr    R7, dword_45CE0388
        ldrb    R6, [R7]
        cmp    R6, 0
        bne    loc_45CE030C
        mov     R0, 1
        strb    R0, [R7]
        movl    R0, 0x190
        adr    R1, sub_45CE0314
        add     R1, 1
        bl    sub_45CE0364
        pop    {R2-R7,PC}
; ---------------------------------------------------------------------------
align 4
loc_45CE030C:
        add     R6, 1
        strb    R6, [R7]
        pop    {R2-R7,PC}
; ---------------------------------------------------------------------------
align 4
            db 0xC0 ; А
            db 0x46 ; F

;------ Фун-ия ----

align 4
sub_45CE0314:
        push    {R2-R7,LR}
        ldr    R7, dword_45CE0388
        ldrb    R6, [R7]
        mov     R1, 0
        strb    R1, [R7]
        ldr    R0, _addr6
        bl    sub_45CE0360
        cmp    R0, 0
        bne    loc_45CE0338
        ldr    R0, _addr7
        bl    sub_45CE0360
        cmp    R0, 0
        bne    loc_45CE034A
        ldr    R7, _addr8
        blx    R7
        pop    {R2-R7,PC}
; ---------------------------------------------------------------------------
align 4
loc_45CE0338:
        cmp    R6, 1
        beq    loc_45CE0342
        bl    sub_45CE035C
        pop    {R2-R7,PC}
; ---------------------------------------------------------------------------
align 4
loc_45CE0342:
        ldr    R0, dword_45CE038C
        ldr    R1, _UI_Event
        blx    R1
        pop    {R2-R7,PC}
; ---------------------------------------------------------------------------
align 4
loc_45CE034A:
        cmp    R6, 1
        beq    loc_45CE0354
        bl    sub_45CE035C
        pop    {R2-R7,PC}
; ---------------------------------------------------------------------------
align 4
loc_45CE0354:
        mov     R1, 0
        ldr    R2, _addr3
        blx    R2
        pop    {R2-R7,PC}
; End of function sub_45CE0314


;------ Фун-ия ----

align 4
sub_45CE035C:
        ldr    R1, _FreeBook
        bx    R1
; End of function sub_45CE035C


;------ Фун-ия ----

align 4
sub_45CE0360:
        ldr    R1, _addr4
        bx    R1
; End of function sub_45CE0360


;------ Фун-ия ----

align 4
sub_45CE0364:
        ldr    R3, _Timer_Set
        bx    R3
; End of function sub_45CE0364

; ---------------------------------------------------------------------------
align 4
_Timer_Set        dw Timer_Set
_FreeBook        dw FreeBook
_addr3        dw addr3
_addr4        dw addr4
_UI_Event        dw UI_Event
_addr6        dw addr6
_addr7        dw addr7
_addr8        dw addr8
dword_45CE0388        dw 0x201A5BF0
align 4
dword_45CE038C        dw 0x857


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


Добавлено 13.3.08 20:43

вот вместе со врезкой
Код: 
;Отредактировано с помощью AsmEditor (c)d1gger17
include "x.inc"
Timer_Set = 0x452A27ED
FreeBook = 0x452A6055
addr3 = 0x45102F85
addr4 = 0x452A40F9
UI_Event = 0x453CE055
addr6 = 0x44F3CA3D
addr7 = 0x45104D9D
addr8 = 0x4520FF19
patch = 0x45A9E140
vrezka = 0x459AF148

org vrezka
DCD loc_45A9E140+1

        org patch
        code16
        push    {R2-R7,LR}
        ldr    R7, dword_45CE0388
        ldrb    R6, [R7]
        cmp    R6, 0
        bne    loc_45CE030C
        mov     R0, 1
        strb    R0, [R7]
        movl    R0, 0x190
        adr    R1, sub_45CE0314
        add     R1, 1
        bl    sub_45CE0364
        pop    {R2-R7,PC}
; ---------------------------------------------------------------------------
align 4
loc_45CE030C:
        add     R6, 1
        strb    R6, [R7]
        pop    {R2-R7,PC}
; ---------------------------------------------------------------------------
align 4
            db 0xC0 ; А
            db 0x46 ; F

;------ Фун-ия ----

align 4
sub_45CE0314:
        push    {R2-R7,LR}
        ldr    R7, dword_45CE0388
        ldrb    R6, [R7]
        mov     R1, 0
        strb    R1, [R7]
        ldr    R0, _addr6
        bl    sub_45CE0360
        cmp    R0, 0
        bne    loc_45CE0338
        ldr    R0, _addr7
        bl    sub_45CE0360
        cmp    R0, 0
        bne    loc_45CE034A
        ldr    R7, _addr8
        blx    R7
        pop    {R2-R7,PC}
; ---------------------------------------------------------------------------
align 4
loc_45CE0338:
        cmp    R6, 1
        beq    loc_45CE0342
        bl    sub_45CE035C
        pop    {R2-R7,PC}
; ---------------------------------------------------------------------------
align 4
loc_45CE0342:
        ldr    R0, dword_45CE038C
        ldr    R1, _UI_Event
        blx    R1
        pop    {R2-R7,PC}
; ---------------------------------------------------------------------------
align 4
loc_45CE034A:
        cmp    R6, 1
        beq    loc_45CE0354
        bl    sub_45CE035C
        pop    {R2-R7,PC}
; ---------------------------------------------------------------------------
align 4
loc_45CE0354:
        mov     R1, 0
        ldr    R2, _addr3
        blx    R2
        pop    {R2-R7,PC}
; End of function sub_45CE0314


;------ Фун-ия ----

align 4
sub_45CE035C:
        ldr    R1, _FreeBook
        bx    R1
; End of function sub_45CE035C


;------ Фун-ия ----

align 4
sub_45CE0360:
        ldr    R1, _addr4
        bx    R1
; End of function sub_45CE0360


;------ Фун-ия ----

align 4
sub_45CE0364:
        ldr    R3, _Timer_Set
        bx    R3
; End of function sub_45CE0364

; ---------------------------------------------------------------------------
align 4
_Timer_Set        dw Timer_Set
_FreeBook        dw FreeBook
_addr3        dw addr3
_addr4        dw addr4
_UI_Event        dw UI_Event
_addr6        dw addr6
_addr7        dw addr7
_addr8        dw addr8
dword_45CE0388        dw 0x201A5BF0
align 4
dword_45CE038C        dw 0x857

но выдет ошибку при компиляции

Код:
flat assembler for ARM  version 1.66
garn.asm [15]:
        DCD loc_45A9E140+1
error: undefined symbol.
cant open temp.bin


понимаю, что ошибка тумая, но поянть не могу, вродь все как в факе(по аналогии)
Код:
vrezka1             equ 0x44278324

org vrezka1

DCD loc_451D4AE4+1 




Добавлено 13.3.08 20:49

адрес вродь кратный 4...

 Zormax:
13.03.08, 21:04
 Virusmater
Timer_Set = 0x452A27ED
FreeBook = 0x452A6055
addr3 = 0x45102F85
addr4 = 0x452A40F9
UI_Event = 0x453CE055
addr6 = 0x44F3CA3D
addr7 = 0x45104D9D
addr8 = 0x4520FF19
patch = 0x45A9E140

Ты тока эти значения менял?

А в самом коде типа:
align 4
loc_45CE034A:
cmp R6, 1
beq loc_45CE0354
bl sub_45CE035C

 Virusmater:
13.03.08, 22:01
 Дык вот они расписаны
Код: 
align 4
loc_45CE0354:
        mov     R1, 0
        ldr    R2, =addr5
        blx    R2
        pop    {R2-R7,PC}
; End of function sub_45CE0314


;------ Фун-ия ----

align 4
sub_45CE035C:
        ldr    R1, =addr6
        bx    R1
; End of function sub_45CE035C


 Joker XT:
13.03.08, 22:31
 Ну прально, loc_45A9E140 не определена =)

 Virusmater:
13.03.08, 22:50
 ну а как ее....хм... определить?)


Добавлено 13.3.08 23:05

мож написать, какой исходник должен получиться, исправленный?
Страница 57 из 180: « 1 ... 53 54 55 56 [57] 58 59 60 61 ... 180 »

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

© 2005-2018 supertrubka.org