Resultados 1 al 10 de 62

Vista híbrida

  1. #1
    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?

  2. #2
    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.

  3. #3
    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

  4. #4
    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.

  5. #5
    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

  6. #6
    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

  7. #7
    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.

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
  •