Página 4 de 7 PrimerPrimer ... 23456 ... ÚltimoÚltimo
Resultados 31 al 40 de 62
  1. #31
    Avanzado Avatar de Mike006
    Fecha de ingreso
    28/oct/2007
    Ubicación
    Argentina
    Móvil
    k310
    Mensajes
    254

    Respuesta: Crear / Portar parches VKP complejos

    Cita Iniciado por miguel8e Ver mensaje
    puedes abrir el .raw de tu firmware con UltraEdit o WinHex y vas hasta el ultimo offset, ese será lo que colocarás...
    En db2020 solamente ponemos el ultimo offset (no extendemos length).
    En db2010 hay que hacer lo que dijiste :
    Cita Iniciado por miguel8e Ver mensaje
    y le sumas 100000 para que se extienda del rango y puedas trabajar con parches que exceden el limite del firmware, como el elfpack, etc..
    Pd: Hay una manera mas facil de portar con parches que trabajan fuera del firmware y no es necesario extender el length en db2010 y tomar menos en db2020.

  2. #32
    Avanzado
    Fecha de ingreso
    15/jun/2008
    Ubicación
    Argentina - Buenos Aires
    Móvil
    W810
    Mensajes
    230

    Respuesta: Crear / Portar parches VKP complejos

    Una pregunta, estoy empezando a portar parches moderados, empeze con los sencillos sin assembling y fueron sobre ruedas. Al grano, quisiera saber que poner en Rom Start Adress, mi suposicion es 44140000 y en Rom size tengo otra pregunta como debo poner el numero en hexadecimal?, osea tengo el firmware R4EA031 W810, y veo que finaliza en 01576FD0 hexadecimal, que debo sumar 100000 osea 01586FD0 y ponerlo en Rom Size?

  3. #33
    Avanzado Avatar de Karl05
    Fecha de ingreso
    28/oct/2007
    Ubicación
    Bs.As. Argentina
    Móvil
    Z750i
    Mensajes
    198

    Respuesta: Crear / Portar parches VKP complejos

    Cita Iniciado por tocinonaro Ver mensaje
    Una pregunta, estoy empezando a portar parches moderados, empeze con los sencillos sin assembling y fueron sobre ruedas. Al grano, quisiera saber que poner en Rom Start Adress, mi suposicion es 44140000 y en Rom size tengo otra pregunta como debo poner el numero en hexadecimal?, osea tengo el firmware R4EA031 W810, y veo que finaliza en 01576FD0 hexadecimal, que debo sumar 100000 osea 01586FD0 y ponerlo en Rom Size?
    Te felicito y espero tengas el mismo exito con tus proximos ports. Bien, vamos con tu consulta:
    Abris el raw con el IDA, en "processor type" ponés "AMR Processors: AMR710a" le das "Set" y luego "OK". En la proxima ventana solo tiene que estar tildado Create ROM section
    Luego pones:

    ROM start address
    : 0x44140000
    ROM size: 0x01674985

    Loading address: 0x44140000
    File offset: 0x00000000
    Loading size: 0x01674985

    Fijate que los valores de ROM start address, Loading address y File offset antes de que los reemplases estan en 0x00000000.
    En ROM size y Loading size ya te deberia aparecer el valor del ultimo byte que reconoce el IDA antes de que reemplaces.
    Cuando abri tu firm me apareció: 0x01574985, o sea que solo le sumé 1 a la tercera cifra despues del 0x.

    Espero que se haya aclarado tu duda. Un saludo.

  4. #34
    Avanzado
    Fecha de ingreso
    15/jun/2008
    Ubicación
    Argentina - Buenos Aires
    Móvil
    W810
    Mensajes
    230

    Respuesta: Crear / Portar parches VKP complejos

    Hola gracias por la anterior he avanzado un poco, estoy portando un parche de cuando te llaman prenda la luz, el tema es que las ultimas partes del parche mas bien cuando el codigo es 0000000000 o FFFFFFFF manda un error que dice Command MarkCode failed y no puedo avanzar.

    PD: Editado, lo anterior ya lo solucione. El tema ahora es el ASM del paso 1, ya lo construi y saque las lineas con ; y demas pero donde lo veo con colores? osea tu dices rojo y azul, pero en block de notas? por que lo veo todo igual en negro.
    PD2: Expongo mi progreso hasta ahora, desamble el parche:
    Parche VKP;W810 SW-R4EA031
    ;Ìèãàíèå ôîíà*ÿ ï*è âõîäÿùåì âûçîâå
    ;Ïå*åäåëàíà ëîãèêà ïàò÷à, ï*è íàæàòèè íà # èëè êà÷åëüêó âìåñòå ñ ìóçûêîé/âèá*îé âûêëþ÷àåòñÿ è ìèãàíèå
    ;Blinking a small lamp at an entering call
    ;v. 2
    ;(c) IronMaster
    +44140000
    10c673a: 206B2F49 30498847
    10c67fc: 816A2045 B1556B45
    10c7e14: 0D4D 1E4D
    10c7e20: 4C34E078 0A488047
    10c7e4c: B0624D44 FB556B45
    15755b0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 206B1749FFB5154F7E78012E03D00121
    15755c0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 797000F001F8FFBDFFB5104F3E78012E
    15755d0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 07D01E203CF746FF32200E4996F754FE
    15755e0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFBD00263E707E70FFBDFFB53CF746FF
    15755f0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3220094996F748FEFFBD4C34E078FFB5
    1575600: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 024F7E78012E00D13E70FFBD402B024C
    1575610: FFFFFFFFFFFFFFFFFFFFFFFF 816A2045EB556B45C9556B45

    Y HA QUEDADO ASI:
    include "x.inc"

    loc_456B55B0:
    LDR R0, [R4,0x30]
    LDR R1, loc_456B5610
    PUSH {R0-R7,LR}
    LDR R7, loc_456B560C
    LDRB R6, [R7,1]
    CMP R6, 1
    BEQ loc_456B55C6
    MOV R1, 1
    STRB R1, [R7,1]
    BL sub_456B55C8

    loc_456B55C6:
    POP {R0-R7,PC}



    sub_456B55C8:
    PUSH {R0-R7,LR}
    LDR R7, loc_456B560C
    LDRB R6, [R7]
    CMP R6, 1
    BEQ loc_456B55E2
    MOV R0, 0x1E
    BL sub_455F2464
    MOV R0, 0x32
    LDR R1, off_456B5614
    BL sub_4564C288
    POP {R0-R7,PC}


    loc_456B55E2:
    MOV R6, 0
    STRB R6, [R7]
    STRB R6, [R7,1]
    POP {R0-R7,PC}




    loc_456B55EA:
    PUSH {R0-R7,LR}
    BL loc_455F247C
    MOV R0, 0x32
    LDR R1, off_456B5618
    BL sub_4564C288
    POP {R0-R7,PC}

    loc_456B55FA:
    ADD R4, 0x4C
    LDRB R0, [R4,3]
    PUSH {R0-R7,LR}
    LDR R7, loc_456B560C
    LDRB R6, [R7,1]
    CMP R6, 1
    BNE loc_456B560A
    STRB R6, [R7]

    loc_456B560A:
    POP {R0-R7,PC}


    loc_456B560C:
    CMP R3, 0x40
    LDR R4, off_456B5618

    loc_456B5610:
    LDR R1, [R0,0x28]
    CMP R0, R4
    Última edición por tocinonaro; 18/09/2008 a las 18:53:41

  5. #35
    Avanzado Avatar de Karl05
    Fecha de ingreso
    28/oct/2007
    Ubicación
    Bs.As. Argentina
    Móvil
    Z750i
    Mensajes
    198

    Respuesta: Crear / Portar parches VKP complejos

    Cita Iniciado por tocinonaro Ver mensaje
    El tema ahora es el ASM del paso 1, ya lo construi y saque las lineas con ; y demas pero donde lo veo con colores? osea tu dices rojo y azul, pero en block de notas? por que lo veo todo igual en negro.
    Claro que vas a ver todo en negro en el block de notas, ¡Es texto sin formato!. Los colores son solo orientativos, para que veas como deben ser las zonas del vkp o asm a las que me refiero.

    En ese parche tenes 4 DCDs (en 10c673a, 10c67fc, 10c7e20 y 10c7e4c), que vas a tener que poner "manualmente" en el ASM. Lee con detenimiento el Tutorial que esta explicado.
    Tenes un pequeño cambio en el firm (en 10c7e14) y todo el codigo nuevo desde 15755b0 (que son las FFFF).
    Notá que el parche esta escrito en offset+base. O sea que para buscar en el IDA tenes que sumarle 4414000 a los offsets.

    Una vez listo el ASM reemsamblalo con el Fasarm para ver si, efectivamente, genera de nuevo el mismo parche vkp del que partiste. Si todo esta OK, entonces pasa a la Fase 2 para comensar a portarlo.

  6. #36
    Avanzado
    Fecha de ingreso
    15/jun/2008
    Ubicación
    Argentina - Buenos Aires
    Móvil
    W810
    Mensajes
    230

    Respuesta: Crear / Portar parches VKP complejos

    Perdon por hacer tantas preguntas salgo de una duda y me meto en otra, lo que dices antes creo que entendi algo, o para mi es mas facil, yo dijo los offset que modifican algo en el firm como lo son los 5 primeros, esos no seria mas facil portarlos despues? osea como si fueran un parche simple, que no requieran assembling? y otra duda, te segui hasta que tienes que poner patch, dir 1, dir 2, dir 3, dir 4, etc. En patch se que poner que es donde comienza el codigo nuevo, pero en dir 1, y los demas dir no se como obtenerlos? osea en tu tutorial veo que obtienes dir1 equ 0x454DE6C8 de la nada eso creo?

    PD: Avanza hasta aca:
    Código:
    include "x.inc"
    
    patch equ 456B55B0
    dir 1 equ
    dir 2 equ
    dir 3 equ
    dir 4 equ
    
    loc_456B55B0:				
    		LDR	R0, [R4,0x30]
    		LDR	R1, loc_456B5610
    		PUSH	{R0-R7,LR}
    		LDR	R7, loc_456B560C
    		LDRB	R6, [R7,1]
    		CMP	R6, 1
    		BEQ	loc_456B55C6
    		MOV	R1, 1
    		STRB	R1, [R7,1]
    		BL	sub_456B55C8
    
    loc_456B55C6:				
    		POP	{R0-R7,PC}
    
    
    
    sub_456B55C8:				
    		PUSH	{R0-R7,LR}
    		LDR	R7, loc_456B560C
    		LDRB	R6, [R7]
    		CMP	R6, 1
    		BEQ	loc_456B55E2
    		MOV	R0, 0x1E
    		BL	sub_455F2464
    		MOV	R0, 0x32
    		LDR	R1, off_456B5614
    		BL	sub_4564C288
    		POP	{R0-R7,PC}
    
    
    loc_456B55E2:				
    		MOV	R6, 0
    		STRB	R6, [R7]
    		STRB	R6, [R7,1]
    		POP	{R0-R7,PC}
    
    
    
    
    loc_456B55EA:				
    		PUSH	{R0-R7,LR}
    		BL	loc_455F247C
    		MOV	R0, 0x32
    		LDR	R1, off_456B5618
    		BL	sub_4564C288
    		POP	{R0-R7,PC}
    
    loc_456B55FA:				
    		ADD	R4, 0x4C
    		LDRB	R0, [R4,3]
    		PUSH	{R0-R7,LR}
    		LDR	R7, loc_456B560C
    		LDRB	R6, [R7,1]
    		CMP	R6, 1
    		BNE	loc_456B560A
    		STRB	R6, [R7]
    
    loc_456B560A:				
    		POP	{R0-R7,PC}
    
    
    loc_456B560C:				
    		CMP	R3, 0x40
    		LDR	R4, off_456B5618
    
    loc_456B5610:				
    		LDR	R1, [R0,0x28]
    		CMP	R0, R4

  7. #37
    Avanzado Avatar de Karl05
    Fecha de ingreso
    28/oct/2007
    Ubicación
    Bs.As. Argentina
    Móvil
    Z750i
    Mensajes
    198

    Post Respuesta: Crear / Portar parches VKP complejos

    Bueno, los nombres patch y dir1, dir2, etc. tambien son orientativos, realmente le podes poner cualquier nombre que quieras. Respecto a lo anterior, lo explique en el tuto para el BL pero voy a tratar de explicarlo mejor para tu caso que son DCD:

    Cada bloque que va escribir el fasarm tiene que tener esta forma:

    org (Nombre de la direccion donde empieza a escribir)
    "loc o sub" (Direccion de partida):
    INSTRUCCION (Nombre de la direccion de destino)

    Por ejemplo esta linea:
    10c67fc: 816A2045 B1556B45

    Donde empieza?: 10c67fc+44140000 = 452067FC y esta es tambien la direccion de partida para el salto.
    Instruccion?: para realizar un salto es "DCD"
    destino?: 456B55B0+1 (fijate que son los valores invertidos de a pares)

    Entonces tiene que quedar asi:

    org salto2
    loc_452067FC:
    DCD parche+1

    ¿Ves que queda parecido al org patch1 del tuto, pero con DCD? Tenes que definir los nombres salto2 y parche. Asi que al comienzo del ASM pones:

    salto2 equ 0x452067FC
    parche equ 0x456B55B0

    Tambien nota que si bien le puedo poner cualquier nombre al destino lo llame "parche" ya que si te fijas es donde comienza el codigo nuevo. Esto es importante que lo notes para luego portarlo en la fase 2.

    Para seguir agregando bloques de instrucciones consecutivas volves a usar el comando "org".

    Si seguis teniendo dudas, pregunta, para eso esta esta seccion. Podria haber sido mas explicativo en el tuto, pero ya esta bastante largo, no?
    Última edición por Karl05; 18/09/2008 a las 22:58:51

  8. #38
    Avanzado
    Fecha de ingreso
    15/jun/2008
    Ubicación
    Argentina - Buenos Aires
    Móvil
    W810
    Mensajes
    230

    Respuesta: Crear / Portar parches VKP complejos

    He entendido hasta ahi, pero tengo la misma pregunta, no es mas facil los 5 primeros offset hacen cambios al main, mientras que los otros añaden nuevas funciones, lo que hacen cambios al main no los podria portar al final? osea porto mediante este tuto los que añaden nuevas funciones y mediante el tuto sin assembling con winhex los otros.

  9. #39
    Avanzado Avatar de Karl05
    Fecha de ingreso
    28/oct/2007
    Ubicación
    Bs.As. Argentina
    Móvil
    Z750i
    Mensajes
    198

    Respuesta: Crear / Portar parches VKP complejos

    Ah!, eso si. Podes agregarlos como si fuese un parche sencillo si conoces el destino de los saltos mediante winhex. Yo a veces tampoco los pongo en el ASM (incluso ni siquiera uso winhex) solo los veo en el IDA y los meto al final editando directamente el vkp con el block de notas.
    Pero quise ser mas extructurado y coherente al explicarlo, asi no creaba mas confusion.
    Mirá que tenes que conocer los otros destinos en el nuevo firm, tal vez tengas que usar el smelter para buscar, el winhex no te permite buscar comodines (?).

  10. #40
    Avanzado
    Fecha de ingreso
    15/jun/2008
    Ubicación
    Argentina - Buenos Aires
    Móvil
    W810
    Mensajes
    230

    Respuesta: Crear / Portar parches VKP complejos

    Hola, bueno voy a empezar todo otra vez, ya que vi que algunas cosas no coincidian, y cierto ya que he empezado de 0 el tuto y algunas se me habian escapados.
    Bueno una pregunta me quedo esto:
    Código:
     include "x.inc"
    
    Patch equ 0x456B55B0
    dir 1 equ 0x456B5614
    dir 2 equ 0x456B5618
    dir 3 equ 0x4C022B40
    
    org 0x456B55B0
    
    :loc_456B55B0				
    		LDR	R0, [R4,0x30]
    		LDR	R1, loc_456B5610
    		PUSH	{R0-R7,LR}
    		LDR	R7, dword_456B560C
    		LDRB	R6, [R7,1]
    		CMP	R6, 1
    		BEQ	loc_456B55C6
    		MOV	R1, 1
    		STRB	R1, [R7,1]
    		BL	sub_456B55C8
    
    :loc_456B55C6				
    		POP	{R0-R7,PC}
    
    
    
    
    :sub_456B55C8				
    		PUSH	{R0-R7,LR}
    		LDR	R7, dword_456B560C
    		LDRB	R6, [R7]
    		CMP	R6, 1
    		BEQ	loc_456B55E2
    		MOV	R0, 0x1E
    		BL	sub_455F2464
    		MOV	R0, 0x32
    		LDR	R1, off_456B5614
    		BL	sub_4564C288
    		POP	{R0-R7,PC}
    
    
    :loc_456B55E2				
    		MOV	R6, 0
    		STRB	R6, [R7]
    		STRB	R6, [R7,1]
    		POP	{R0-R7,PC}
    
    		DCB 0xFF
    unk_456B55EB	DCB 0xB5 		
    		DCB 0x3C 
    		DCB 0xF7 
    		DCB 0x46 
    		DCB 0xFF
    
    		MOV	R0, 0x32
    		LDR	R1, off_456B5618
    		BL	sub_4564C288
    		POP	{R0-R7,PC}
    
    
    :loc_456B55FA				
    		ADD	R4, 0x4C
    		LDRB	R0, [R4,3]
    		PUSH	{R0-R7,LR}
    		LDR	R7, dword_456B560C
    		LDRB	R6, [R7,1]
    		CMP	R6, 1
    		BNE	loc_456B560A
    		STRB	R6, [R7]
    
    :loc_456B560A				
    		POP	{R0-R7,PC}
    
    dword_456B560C	DCD 0x4C022B40		
    
    :loc_456B5610				
    		LDR	R1, [R0,0x28]
    		CMP	R0, R4
    PD: Fijate si no es mucho pedir y si no te interrumpo, si los dir 1, dir 2 y dir 3 estan bien, entiendo que estos son las direcciones que sobresalen de los offset, que no se encuentran dentro del rango y que patch es donde empieza el parche. Otra duda que tenia que son los unk_xxxxx y si tambien debo ponerlos con : y otra duda donde debo poner los valores de dir 1, dir 2 y dir 3. Muchas Gracias.

Página 4 de 7 PrimerPrimer ... 23456 ... ÚltimoÚltimo

Información de tema

Usuarios viendo este tema

Actualmente hay 1 usuarios viendo este tema. (0 miembros y 1 visitantes)

Temas similares

  1. Ayuda a Portar parches!!!
    Por Paek en el foro Parches & Scripts
    Respuestas: 5
    Último mensaje: 17/06/2010, 23:08:55
  2. [SUGERENCIA] al portar parches
    Por k550_max en el foro Funcionamiento & Sugerencias
    Respuestas: 1
    Último mensaje: 24/11/2009, 14:10:20
  3. Como portar parches sin ida pro?
    Por AdrianDroid en el foro Parches & Scripts
    Respuestas: 1
    Último mensaje: 28/07/2009, 12:37:38
  4. Respuestas: 11
    Último mensaje: 21/07/2008, 03:30:33
  5. Crear / Portar parches VKP complejos
    Por Karl05 en el foro Parches & Scripts
    Respuestas: 0
    Último mensaje: 19/04/2008, 01:13:18

Etiquetas para este tema

Marcadores

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •