Entendiendo patches con FFFF, por PabloMDiez.
Entendiendo patches con FFFF, por PabloMDiez.
Este patch es para W810 R4DB005:
Código:
;W810 R4DB005
;Move "layout" to usb/other/modding/layout.
;(c) Mobilefree
;(p) Adrian. Top Sony Team
444E7828: 6A7C6444 00516F45
4553E544: 6A7C6444 00516F45
456F5100: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2F007500730062002f006f0074006800
456F5110: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 650072002f006d006f00640064006900
456F5120: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 6e0067002f006c00610079006f007500
456F5130: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 74000000000000000000000000000000
Ok, que tenemos? En la dirección 444E7828, Estamos haciendo puente a 00516F45.
00516F45 es el inverso de la dirección donde escribiremos nuevos datos. Y en 4553E544, tambien. Bien, Estamos cambiando 6A7C6444 a 00516F45.
Pero... Que significa 6A7C6444??
Simple!! Dije que hablamos de direccione "inversas". Entonces:
6A7C6444 <-invertido-> 44647C6A
Se va invirtiendo de dos en dos.
OK entonces,
44647C6A - 44140000 (base) = 507C6A
En esa ruta hay: 2F007400700061002F00730079007300740065006D002F006C 00610079006F00750074
En ASCII: /tpa/preset/system/layout.
Ok, pero que significa 00516F45, tambien???
Simple http://forums.se-nse.net/style_emoti...ault/laugh.gif!! invertirlo de vuelta de dos en dos.
Y tenemos: 456F5100..
La cual es la tercer línea del patch.. Donde escribiremos sobre las FFFF el código que queremos reemplazar...
Entonces tenemos que escribir los datos que queremos cambiar en 456F5100. En este caso escribimos /usb/other/modding/layout, lo convertimos a hexadecimal (con 00 cada 2 "números"), y nos queda:
2F007500730062002f006f0074006800650072002f006d006f 006400640069006e0067002f006c00
610079006f00750074
Ahora dividimos en 32 caracteres cada línea... Por qué 32?
32/2 = 16
En hexadecimal podemos usar:
0 1 2 3 4 5 6 7 8 9 A B C D E F ... y así una y otra vez..
\___________15___________/
Entonces F + 1 = 10.
1F + 1 = 20.
2F + 1 = 30.
De esta manera, nos podremos organizar y entender mejor durante la creación del patch. Tambien ayuda si hay que depurarlo.
456F5100: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2F007500730062002f006f0074006800
456F5110: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 650072002f006d006f00640064006900
456F5120: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 6e0067002f006c00610079006f007500
456F5130: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 74000000000000000000000000000000
Concluyendo:
La ruta del Layout en R4DB005 se almacena en 507C6A. Entonces, si sumamos 44140000 (base address W810), obtenemos 44647C6A. Lo invertimos, y tenemos 6A7C6444.
Ahora buscamos en el archivo RAW "6A7C6444".. Y lo encontramos en 444E7828, y 4553E544.
Entonces, 444E7828 y 4553E544 le "dicen" al teléfono dónde se almacena la direccion del layout. Y lo cambiamos a 456F5100.
Entonces, si invertimos nuevamente 456F5100, obtendremos 00516F45.
Uff :rolleyes:.. Nuestras dos primeras partes del patch estan terminadas!!
444E7828: 6A7C6444 00516F45
4553E544: 6A7C6444 00516F45
Ahora escribimos en 456F5100 los datos que queremos cambiar y... Voilà!! Patch terminado.
El teléfono ahora leerá la ruta del layout desde 456F5100, donde escribimos la nueva ruta modificada, y NO lo leerá desde 507C6A, donde se almacena la ruta original..
Bien.. Pero por qué hacer patches así si son más complicados??
Pensá en esto, querés ubicar el archivo menu.ml en una ruta como esta:
/usb/other/windows/system/configs/menu/
pero la ruta original es /tpa/preset/system/menu/... Donde agregarás "em/configs/menu/"??
Además, te servirá para entender mejor los patches. Es decir, no sabrás completamente el funcionamiento del patch SYSGFX http://forums.se-nse.net/style_emoti...ault/laugh.gif.. pero podrás obtener el codigo, y desensamblarlo luego.. Y talvez así lo podras entender, portar o arreglar algun bug..
Interesante?
Mas allá de eso, traté de ser lo más explicativo posible.. Esta guía la escribí en SENSE, luego la traduje para TopSony..
Gracias a
Adrián, TopSony
Mobilefree, creador de este patch
Y a mí!!! :D
SI QUIERES COPIAR ESTA GUÍA, DEJA LOS CREDITOS.. No como otras páginas que se robaron la mayoría del contenido de aquí (Guia IMEI :mad:)
Saludos!!
PabloMDiez, TS Mod.
Re: Entendiendo patches con FFFF, por PabloMDiez.
Pablo, quiero saber si has dado con los pach para unlock de los cid52 o cualquier otro db2020, creo que todos unidos podemos crear una solucion.
Re: Entendiendo patches con FFFF, por PabloMDiez.
Como sea, igualmente no hay forma de aplicarlos.
Por cierto, eso es fuera de tema ;)
Saludos!
Re: Entendiendo patches con FFFF, por PabloMDiez.
una pregunta. Queria saber si cualquiera puede adaptar un parche de FFFF o hay que ser demasiado experto? Yo trate de adaptar uno pero me resulta imposible
Re: Entendiendo patches con FFFF, por PabloMDiez.
Depende. Si las funciones usadas del firmware original, difieren del firmware al que lo quieras adaptar (seguro, me atrevo a decir que nunca concuerdan), deberás desensamblar el código escrito en HEX, lo lees en Assembler y lo adaptas a la version adecuada.
Sobre assembler no se nada, asique cualquier duda con el lenguaje no te voy a poder ayudar :(
Saludos!
Re: Entendiendo patches con FFFF, por PabloMDiez.
una pregunta como hago para buscar este offset 154F98C por que le resto 44140000 y me da FFFFFFFFBD40F98C y no puedo poner ese offset en el winhex por favor ayuda gracias...
Re: Entendiendo patches con FFFF, por PabloMDiez.
Porque 154F98C ya es un offset sin sumar ;) Prueba buscando ese offset sin restar nada a ver que pasa ;)
Saludos!
Re: Entendiendo patches con FFFF, por PabloMDiez.
Muy bueno este tutorial o como se llame, la verdad es muy interesante. queria que me ayudaran con este patch que acao de crear pero no funciona, lo tome de un w810 r4ea031. No se que estoy haciendo mal, capaz que sea la direccion que esta en negrito. Si fuera asi cambiarian los offset donde reemplazaremos las FFFF.
dejo el parche:
Cita:
;W200 R4HA014
;Keylock password
;© IronMaster, Joker XT
;(P) ZZTOP
;(C) Lukitas
+44140000
FDD854: 9DD31145 01506F45
15b5000: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00B5054FB847FFB404210222034B014F
15b5010: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF B847FFBDD18B2045E9922A455B150000
Re: Entendiendo patches con FFFF, 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 ;)
Re: Entendiendo patches con FFFF, por PabloMDiez.
Pablomdiez, felicitaciones demasiado aportaso, soy usuario de un k790 pero gracias a esto ya entiendo como funcionan los parches.