Re: Entendiendo patches con FFFF, por PabloMDiez.
Cita:
Iniciado por
PabloMDiez
Conozco el patch original pero no lo tengo en esta PC para compararlo.
La cuestión es que cada teléfono, tiene funciones específicas, que lo hacen diferente del resto. De ésta manera, se tardó tanto en sacar SysGFX para W810 aún teniendo las fuentes ASM. Hay que desensamblar ese código de las líneas 15b5000 y 15b5010 en ASM y también portarlo.
Otra cosa, estás seguro que FDD854 es el offset exacto del evento de desbloqueo de teclado?
En fin.. sabes assembler? vuelvo a repetir, yo no se nada de eso, asique no te podré ayudar :(
Saludos!
PD: por cierto, cuando portás un patch, se pone (P) tu nombre, y cuando lo creás (C) tu nombre ;)
Si disculpas ya lo corrigo, siempre pongo (p), se me olvido.
El offset es el correcto. Lo que debe estar mal son las direcciones que cambiamos por las FFFF.
Assembler no se nada. Pero si el objetivo del parche es el mismo las dirreciones a cambiar debes ser iguales, como los parches para liberar los celulares.
Re: Entendiendo patches con FFFF, por PabloMDiez.
Este es el patch desensamblado, de la versión para W810 R4EA031 :D
Código:
org 0x452A97A4
DCD loc_456F5000+1 ; antes era 0x452A92E8+1
loc_456F5000 ; DATA XREF: ROM:off_452A97A4o
PUSH {LR}
LDR R7, off_456F5018
BLX R7
PUSH {R0-R7}
MOV R1, #4
MOV R2, #2
LDR R3, dword_456F501C
LDR R7, off_456F5014
BLX R7
POP {R0-R7,PC}
off_456F5014 DCD sub_45208BD0+1 ; DATA XREF: ROM:456F500Er
off_456F5018 DCD loc_452A92E8+1 ; DATA XREF: ROM:456F5002r
dword_456F501C DCD 0x155B ; DATA XREF: ROM:456F500Cr
Lo que está en negrita, equivale a 0x45208BD1 (D18B2045), y 0x452A92E9 (E9922A45), respectivamente
Y 0x155B, equivale a 5B150000
Lo que hay que corregir, es la ultima parte, son 2 referencias a 2 funciones, una no se cual es, la otra es para regresar a donde empezó
Entonces, quedaría así, tambien subiendo un poco el offset del parche, para no desperdiciar espacio en el firmware, lo pongo antes del sysgfx
Código:
include "x.inc"
desbloq_teclado equ 0x4511D854
sub1 equ 0x4507D318
patch equ 0x45509530
retorno equ 0x4511D39C
org desbloq_teclado
DCD patch+1
org patch ; 0x45509530
PUSH {LR}
LDR R7, off_456F5018
BLX R7
PUSH {R0-R7}
MOV R1, 4
MOV R2, 2
LDR R3, dword_456F501C
LDR R7, off_456F5014
BLX R7
POP {R0-R7,PC}
off_456F5014 DCD sub1+1 ; DATA XREF: ROM:456F500Er
off_456F5018 DCD retorno+1 ; DATA XREF: ROM:456F5002r
dword_456F501C DCD 0x155B ; DATA XREF: ROM:456F500Cr
align 4
Despues de compilarlo, queda esto:
Cita:
;W200 SW-R4HA014
;Keylock password
;(c) IronMaster, Joker XT
;(p) m1ch43lzm, lukitas
+44140000
fdd854: 9DD31145 31955045
13c9530: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00B5054FB847FFB404210222034B014F
13c9540: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF B847FFBD19D307459DD311455B150000
PD: lukitas, tu no eres el autor del parche :D, los autores son IronMaster y Joker XT, puedes poner tu nombre como (p) lukitas, despues de (c) IronMaster, Joker XT (en este caso, ZZTOP lo convirtió para W810 R4EA031)
En algunos casos, tambien hay saltos, o referencias a otras funciones, deben ser corregidos, si fuera puro codigo sin saltos, sin referencias, probablemente funcione, en cambio, si solo hay que cambiar texto, como los parches para mover rutas, esos son faciles :D
Re: Entendiendo patches con FFFF, por PabloMDiez.
Cita:
Iniciado por
m1ch43lzm
PD: lukitas, tu no eres el autor del parche :D, los autores son IronMaster y Joker XT, puedes poner tu nombre como (p) lukitas, despues de (c) IronMaster, Joker XT (en este caso, ZZTOP lo convirtió para W810 R4EA031)
Si mas arriba corregi que siempre pongo "(p)", nada mas que esta vez sin querer puse "(c)", Gracias por el parche. Ahora lo pruebo.
Edito:
Parche probado andando muy bien. Gracias m1ch43lzm.
Re: Entendiendo patches con FFFF, por PabloMDiez.
Bueno, en una ocacion vi uno del w810 que hacia que el sonido de los mensajes durara todo lo que la canion pero la cadena a cambiar eran puras F´s, a que se debe esto???
ejemplo (no es real el ejemplo, es para darse una idea)
offset original a cambiar
13c9: B5054F FFFFFF
Re: Entendiendo patches con FFFF, por PabloMDiez.
@m1ch43lzm como hiciste para desensamblar el parche?? Con que software mas especificamente
Re: Entendiendo patches con FFFF, por PabloMDiez.
Cita:
Iniciado por
gato verde
Bueno, en una ocacion vi uno del w810 que hacia que el sonido de los mensajes durara todo lo que la canion pero la cadena a cambiar eran puras F´s, a que se debe esto???
ejemplo (no es real el ejemplo, es para darse una idea)
offset original a cambiar
13c9: B5054F FFFFFF
FF = Nulo, osea el "B5054F" (sé que es un ejemplo) es el límite en tiempo del sonido. Asique al reemplazarlo por FFFFFF, el límite es nulo ;)
Cita:
Iniciado por
FAKU_14
@m1ch43lzm como hiciste para desensamblar el parche?? Con que software mas especificamente
No soy m1ch43lzm pero te respondo igual:
Seguramente usó IDA, o BinEdit.
Saludos!
Re: Entendiendo patches con FFFF, por PabloMDiez.
Baje el ida pro, pero es un poco (mucho en realidad) complicado. No logro desensamblar ningun parche. Voy a seguir probando
Re: Entendiendo patches con FFFF, por PabloMDiez.
solo analizalo! ya que lo hayas hecho,empieza a hacerlo en formato .vkp
saludos
Re: Entendiendo patches con FFFF, por PabloMDiez.
Cita:
Iniciado por
gato verde
solo analizalo! ya que lo hayas hecho,empieza a hacerlo en formato .vkp
saludos
Pero como lo analizo??? no tengo ni la mas minima idea. Abro el parche en formato vkp con el IDA PRO y despues que???Si alguien me puede explicar claramente como se hace le agradecere bastante. Saludos
EDITO: Encontre un tutorial y algo entiendo, pero no lo suficiente
Re: Entendiendo patches con FFFF, por PabloMDiez.
Pone el link del tutorial, Gracias faku