-
[Tutorial] Crear Parches VKP Básicos
Creación de Parches VKP Básicos
Cambios de rutas y valores numéricos
Por Shadow Player - TopSony - http://www.topsony.com/forum_es/imag...ost_thanks.gif
Programas a usar:
- Editor Hexadecimal (WinHex)
- Editor de Texto (Block de Notas)
- Extractor de data de MAIN (Main2Raw)
Introducción
En este tutorial se te enseñará a crear parches básicos para cambiar algunos aspectos de tu teléfono, simples pero útiles. Para comenzar este proceso, primero debemos entender cómo se estructura un parche VKP.
El Lenguaje Hexadecimal
Primero que todo tenemos que entender las bases del lenguaje hexadecimal.
El lenguaje hexadecimal lo desarrollo la IBM en los años 80’ como una herramienta para poder entender mejor el código de máquina y se basa en lo siguiente:
- Se asigna a cada 4 bits de datos un carácter de los siguientes:
0 1 2 3 4 5 6 7 8 9 A B C D E F
- Combinando dos de estos caracteres tienes 8 bits, o sea, un byte, la unidad básica de código. Por eso se le llama “código binario”.
- Ejemplos de bytes representados hexadecimalmente: 1A F3 D8
- Con cada combinación distinta se logra un byte distinto, abarcando todas las combinaciones posibles.
- Cada carácter de texto (El abecedario y todos los signos) pesan exactamente un byte, lo que quiere decir que cada byte se puede interpretar como una letra o un signo.
- Ejemplos de letras y signos representados hexadecimalmente:
A = 41
* = 2A
* = F0
O = 4F
% = 25
Ø = D8
El Parche VKP
El siguiente es un parche inventado para explicar cómo se estructura:
Código:
;K790 SW-R8BF003
;Example VKP Patch
;(c) Shadow Player
+44140000
F93195: 4F726967696E616C 43616D626961646F
Todas las líneas que comienzan en “;” son líneas de comentario donde se escribe la versión de firmware (K790 SW-R8BF003) para la que está hecho este parche, la función del parche y los créditos de creador, portador, etc.
- La primera línea “+44140000” es la base de la MAIN. Esta base existe porque la MAIN no está escrita al comienzo (En el primer byte) del chip donde se encuentra guardada, sino que se ubica a partir del byte número 1142161408, que hexadecimalmente representado es 0x44140000*, en adelante.
* “0x” indica que el numero esta en forma hexadecimal, no afecta al valor, 0x44140000 es la base para MAINs de DB2020, otras MAINs poseen otras bases.
- Ahora viene la data del parche:
Cita:
F93195: 4F726967696E616C 43616D626961646F
El primer valor [F93195] es el offset/dirección del cual se comenzara a cambiar valores. Esto quiere decir, la distancia del comienzo del MAIN de la cual comenzaremos a cambiar valores, como ven, está en forma hexadecimal.
El segundo valor [4F726967696E616C] son los bytes originales que se encuentran en el MAIN en el offset/dirección dado (F93195), son los valores que se van a reemplazar por otros.
El tercer valor [43616D626961646F] son los valores que se escribirán sobre los valores originales (4F726967696E616C) para cambiar una función de la MAIN.
En forma de texto, los valores en el parche del ejemplo serian los siguientes:
4F726967696E616C = “Original”
43616D626961646F = “Cambiado”
Ahora: ¿Que pasaría en el MAIN si cambiáramos el texto “ifs/settings/acoustic” por “card/other/acoustic”?
Exactamente eso es lo que aprenderemos a hacer…
Encontrar offsets de valores en el MAIN
El MAIN de nuestros teléfonos tiene un encabezado (header) BABE, un tipo de encabezado flasheable personalizado por Sony Ericsson que es leído por los programas de flasheo para escribir los flashblocks (bloques de datos de la firmware) al teléfono. Con un programa como Main2Raw podemos extraer estos datos sin el encabezado, dejando el archivo tal como se escribirá en el flashchip del teléfono (Formato RAW)
Para crear parches necesitamos encontrar las direcciones de algunos bytes en el flashchip, por lo tanto, tendremos que abrir nuestra firmware en formato RAW con el WinHex.
Si es la primera vez que usas un editor hexadecimal, no te asustes por su apariencia, seguramente pensaras que no entiendes nada de nada. La gracia de este tutorial es que no tienes que entender nada y lo esencial te lo explico.
El WinHex posee dos buscadores: Uno de texto y uno de Bytes:
http://img527.imageshack.us/img527/1412/seekersws1.jpg
El binocular normal es el buscador de texto, el binocular con el texto “Hex” debajo, es el buscador de bytes en forma hexadecimal.
Usaremos el buscador de texto del WinHex de la siguiente manera:
http://img212.imageshack.us/img212/2...tsearchlq0.jpg
-En el texto pondremos la ruta o cualquier string (cadena de texto) que queramos cambiar.
-La codificación será Unicode.
-Apreta OK para buscar.
En mi caso (K790 – R8BF003) encontró una vez el texto “ifs/settings/acoustic” en el offset 185D59A:
http://img247.imageshack.us/img247/6...xtfoundbs6.jpg
Info adicional:
Los valores hexadecimales se suelen escribir anteponiendo “0x” o el signo $ para indicar su representación en hex. (Ejemplos: 0x185D59A, $185D59A)
Una vez encontrado el primer offset:
-Lo anotas en un archivo de texto con el block de notas.
-Vas a WinHex y haces la selección del texto completo “/ifs/settings/acoustic” y aprietas .
-En el archivo de texto haz una línea nueva debajo del offset y apreta se pegarán los valores en hex.
http://img255.imageshack.us/img255/5715/notepad1yd9.jpg
Ahora viene la hora de reemplazar el texto:
-En Winhex, edita la ruta en el panel de texto (Derecha) y escribe la nueva ruta que quieres, acuérdate de hacerlo saltándote un espacio de letra en letra porque en Unicode, las letras se intercalan con un byte 00 (Fíjate en WinHex).
-La ruta nueva tiene que ser igual o más corta que la ruta original.
-Cuando te sobren caracteres (letras) de la ruta original (Al ser la tuya más corta), sobre escribe estos con bytes 00.
http://img209.imageshack.us/img209/1...edtext2gf4.jpg
Me sobran los caracteres “i” y “c”, los reemplazo por bytes 00:
http://img397.imageshack.us/img397/3...tedtextzh6.jpg
Como ven, yo quiero mis acústicos en la memory stick (/card), en la carpeta “otros”, en otra carpeta llamada “acoustic” (/other/acoustic).
Ahora:
-Vuelve a seleccionar toda la ruta (incluyendo los ceros del final) y aprieta .
-Anda de nuevo al block de notas y pega lo copiado en una nueva línea:
http://img401.imageshack.us/img401/2850/notepad2xj8.jpg
Ahora, que tenemos?
Tenemos el offset en el que queremos reemplazar valores, tenemos los valores originales y los valores nuevos a escribir. Estamos listos para ordenar el parche para poder subirlo a tu teléfono. Para hacer esto:
-En la primera línea agrega la base de tu firmware, si no sabes la base de tu firmware, pide la información. Para DB2020 la base es 0x44140000, por lo tanto, escribe “+44140000”.
-Después del offset (185D59A) agrega el signo “:” (dos puntos).
-Divide las líneas de valores hexadecimales en líneas de 32 letras (16 bytes en hex) cada una.
http://img176.imageshack.us/img176/7163/notepad3du2.png
Ahora, ordena las líneas de datos de la siguiente manera:
http://img508.imageshack.us/img508/3805/notepad4sq8.jpg
Que cambiamos?
-Los dos offsets nuevos que aparecen (185D5AA y 185D5BA) se obtienen de la original (185D59A) sumándole 16 que es la cantidad de bytes que avanzamos por línea. 16 en forma hexadecimal es 10, con la calculadora de Windows pueden calcular la suma: 185D59A + 10 en modo hexadecimal y dará:
http://img72.imageshack.us/img72/48/calcsp6.jpg
Volvemos a sumar 16 (10 en hex) y obtendremos el offset siguiente y así hasta llegar a la última línea.
Ahora solo faltan los detalles, como por ejemplo:
-Puede ocurrir que en alguna firmware que la ruta salga 2 veces (como en K790 – R8BF003) entonces, buscamos la segunda ocurrencia y hacemos el mismo procedimiento.
-Se agrega antes de la base las líneas de comentarios donde se indica la firmware para la que fue creado el patch, la función del patch, su creador, portador, etc…
http://img169.imageshack.us/img169/641/notepad5ew0.jpg
Espero que te haya gustado mi tutorial y hayas aprendido bien las bases de la creación de parches VKP.
Un saludo
Abro el tema para que voten en la encuesta y posteen opiniones de como mejorar el tutorial, acepto criticas. No se permitira hacer preguntas sobre como esto, como lo otro, solo preguntas bien fundamentadas y con un punto claro.
Cualquier post que se considere como SPAM, ofensa o pregunta fuera de lugar sera borrado!
-
Re: [Tutorial] Crear Parches VKP Básicos - Shadow Player
solo una pregunta como puedo saber que significa cadasimbolo dentro del main por que tiene muchos y quiero saber que son o que significan????
-
Re: [Tutorial] Crear Parches VKP Básicos - Shadow Player
Hola!
En Winhex tienes dos ventanas: a la izquierda los simbolos hexadecimales y a la derecha el panel de caracteres (letras, numeros y simbolos). Gran parte de estos simbolos no hacen sentido legible porque son instrucciones de assembler, solo se interpretan usando un disassembler.
Saludos!
-
Re: [Tutorial] Crear Parches VKP Básicos - Shadow Player
exelente tutorial, pero no hay algun tema donde uno salga de dudas?
-
Re: [Tutorial] Crear Parches VKP Básicos - Shadow Player
Hola!
No hay tema aun porque la verdad no creo que hallan tantas personas interesadas, si consideras que si lo hay y que vale la pena abrirlo, avisame y lo creo. Dame fundamentos.. dime de 10 usuarios que quieran que se abra este tema y lo hago ;)
Saludos!
-
Re: [Tutorial] Crear Parches VKP Básicos - Shadow Player
Porque algunos parches no tienen en la primera linea la "base del MAIN"?
Que deferencia hay entre escribir asi:
Cita:
;W200 SW-R4HA014
;Password on menu
;© ZEN
44FD2FF8: 252BFD44 E1A55045
4550A5E0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00B508488047054FB847FFB404210222
4550A5F0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 034B014FB847FFBD19D307459DD31145
4550A600: FFFFFFFFFFFFFFFF 5B150000252BFD44
y asi (con la base del MAIN):
Cita:
;W200 SW-R4HA014
;Password on menu
;© ZEN
+44140000
44FD2FF8: 252BFD44 E1A55045
4550A5E0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00B508488047054FB847FFB404210222
4550A5F0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 034B014FB847FFBD19D307459DD31145
4550A600: FFFFFFFFFFFFFFFF 5B150000252BFD44
-
Re: [Tutorial] Crear Parches VKP Básicos - Shadow Player
Yo estoy interesado en aprender a hacer parches por lo menos los basicos para mover rutas
-
Re: [Tutorial] Crear Parches VKP Básicos - Shadow Player
Amigo conmigo somos 3 compañeros que deseamos aprender aunque sea basicos, con el tiempo aprenderemos esperamos que nos puedas ayudar K790PLAYER claro si es que tienes el tiempo y desde luego si quisieras,
-
Re: [Tutorial] Crear Parches VKP Básicos - Shadow Player
bueno amigos a mi me dijeron que con 10 usuarios se abriria un tema oficial, asi que ayudenme si queremos aprender mas de esto, los invito a todos aquellos que como yo queremos aprender asi sean basicos, lo de los parches VKP. queda ya de ustedes y demas usuarios esta peticion. ;)
-
Re: [Tutorial] Crear Parches VKP Básicos - Shadow Player
Yo me apunto para los de los parches, tengo interes en como saber hacer y tambien pedir un totorial mas explicito y mas completo para portar parches
saludos
-
Re: [Tutorial] Crear Parches VKP Básicos - Shadow Player
Hola, pues veras que algunos parches tienen base del Main y otros no por lo siguiente:
Cuando tienen base, el parche dice, que se le debe sumar esa base al Offset, para que llegue al lugar donde se encuentran los datos que quieres cambiar.
Asi deberia quedar, usando el parche que pusiste:
Cita:
+44140000
E92FF8: 252BFD44 E1A55045
Ahora, cuando no tienen la base, es porque ya esta sumada al offset, que es el caso de este parche:
Cita:
44FD2FF8: 252BFD44 E1A55045
Si usas la calculadora en modo hexadecimal, colocas
44FD2FF8 -(4) 44140000, y obtienes E92FF8, siendo este el offset que encuentras en el Main.
Saludos
-
Re: [Tutorial] Crear Parches VKP Básicos - Shadow Player
Alguno de ustedes en especial miguel8e me podria decir si mi primer parche esta bien echo
;W880-R6BC002
;IFS/SETTINGS/ACOUSTIC TO CARD/OTHER/ACOUSTIC
;(c) L.E-DX
+44140000
01A28FC6:2F006900660073002F00730065007400
01A28FD6:740069006E00670073002F0061006300
01A28FE6:6F00750073007400690063000000
01A28FF6:2F0063006100720064002F0073006500
01A29006:7400740069006E00670073002F006100
01A29016:63006F0075007300740069000000
EDITO: Me podrian explicar para que sirve este parche y de una vez portarlo para R6BC002 seria el mismo metodo???
;W880 R8BA024
;Кнопка Play/Pause на коротком нажатии кнопки оператора
;(c) IronMaster
;(p) Sic
+44140000
12865AA: 3D 42
-
Re: [Tutorial] Crear Parches VKP Básicos - Shadow Player
Yo me sumo a esos 10 que necesitas para abrir el tema de preguntas, pues la verdad tantos numeritos no me cuadran bien.
Entendi una parte pero me quedan muchois vacios que quisiera solucionar, si en tus manos esta dicho tema hazlo para salir de dudas.
Saludos,
UmbreLla7 - TopsoNy.com
-
Re: [Tutorial] Crear Parches VKP Básicos - Shadow Player
Hola a todos.
Bueno, verifique con el Main y si esta bien la primera parte de tu parche.
pero por lo que veo, no colocaste los demas offsets. solo colocaste el 01A28FC6 y le fuiste sumando 10. Te faltan los otros 2 offsets en donde aparece la ruta, el 01A28FF4 y 01AA08B4. Y tienes que dejar un espacio entre los : y la ruta. Mas o menos asi quedaria
Cita:
01A28FC6: 2F006900660073002F00730065007400
01A28FD6: 740069006E00670073002F0061006300
01A28FE6: 6F00750073007400690063000000
01A28FF4: 2F0063006100720064002F0073006500
01A29004: 7400740069006E00670073002F006100
01A29014: 63006F0075007300740069000000
01AA08B4: 2F0063006100720064002F0073006500
01AA08C4: 7400740069006E00670073002F006100
01AA08D4: 63006F0075007300740069000000
Ahora coloca la ruta nueva junto a la original y terminas el parche.
Saludos
PD: el otro parche segun Google significa Botón de reproducción / pausa se pulsa el botón durante un breve operador.
-
Re: [Tutorial] Crear Parches VKP Básicos - Shadow Player
Yo tambien me uno para crear un tema con preguntas.
Pues hay muchas cosas que quiero hacerle al cel.
-
Re: [Tutorial] Crear Parches VKP Básicos - Shadow Player
mmm tambien me uno por que pues tengo un chin de dudas y pos quiero que me las saquen
-
Re: [Tutorial] Crear Parches VKP Básicos - Shadow Player
yo tambien me uno ya que quiero aprender mas de como hacewr parches
-
1 Archivos adjunto(s)
Re: [Tutorial] Crear Parches VKP Básicos - Shadow Player
Cita:
Iniciado por
miguel8e
Hola a todos.
Bueno, verifique con el Main y si esta bien la primera parte de tu parche.
pero por lo que veo, no colocaste los demas offsets. solo colocaste el 01A28FC6 y le fuiste sumando 10. Te faltan los otros 2 offsets en donde aparece la ruta, el 01A28FF4 y 01AA08B4. Y tienes que dejar un espacio entre los : y la ruta. Mas o menos asi quedaria
Ahora coloca la ruta nueva junto a la original y terminas el parche.
Saludos
PD: el otro parche segun Google significa Botón de reproducción / pausa se pulsa el botón durante un breve operador.
No entiendo muy bien esa parte me la podrias explicar mejor tendria que quedar asi ???
-
1 Archivos adjunto(s)
Re: [Tutorial] Crear Parches VKP Básicos - Shadow Player
Exacto, haz asi con los demas, pero te falto una letra en la ruta, colocaste acousti. Te lo subo terminado. Saludos
-
Re: [Tutorial] Crear Parches VKP Básicos - Shadow Player
tengo un pequeño problema, estoy trando de adaptar el parche para cambiar el color de la fuente para un k790 R6BC002 desde el parche para la version R8BF003 y el parche que encontre tiene el titulo de "Change font color in PLAYER's menu" pero por mas que lo pongo en el winhex no me ncuentra nada, tambien probe con "change font" solo y tampoco...como puedo hacer para adaptalo?? o este tipo de parches no entra en lo que se considera basico???
PD: por sierto...exelente tuto PLAYERK790...muy bien explicado...
-
Re: [Tutorial] Crear Parches VKP Básicos - Shadow Player
Que tal a todos yo tambien me uno para aprender a realizar parches basicos aun me quedaron varias duas del primer post y me gustaria saber si K790player ya conto cuantos vamos creo que somos mas de diez ojla lo tomne en cuenta.......
Saludos¡¡¡¡¡¡¡¡¡¡
-
Re: [Tutorial] Crear Parches VKP Básicos - Shadow Player
Cita:
Iniciado por
pela_pmcba
tengo un pequeño problema, estoy trando de adaptar el parche para cambiar el color de la fuente para un k790 R6BC002 desde el parche para la version R8BF003 y el parche que encontre tiene el titulo de "Change font color in PLAYER's menu" pero por mas que lo pongo en el winhex no me ncuentra nada, tambien probe con "change font" solo y tampoco...como puedo hacer para adaptalo?? o este tipo de parches no entra en lo que se considera basico???
PD: por sierto...exelente tuto PLAYERK790...muy bien explicado...
A mi me paso tambien, creo que no esta resultando util el winhex.. Esta dando bastantes fallas. y lo digo porque despues use el notepad++ coin su plugin de editor hexadecimal y encontre esos offset..
-
Re: [Tutorial] Crear Parches VKP Básicos - Shadow Player
Cita:
Iniciado por
pela_pmcba
y el parche que encontre tiene el titulo de "Change font color in PLAYER's menu" pero por mas que lo pongo en el winhex no me ncuentra nada, tambien probe con "change font" solo y tampoco...como puedo hacer para adaptalo?? o este tipo de parches no entra en lo que se considera basico???
Ese es un comentario, no es NADA que buscar. y btw, ese parche no se porta asi =)
-
Re: [Tutorial] Crear Parches VKP Básicos - Shadow Player
Hola amigos!
OK Abrire el tema de dudas y discusion en este momento, este tema lo cierro y todo lo que tenga que ver con portar parches se discutira en el otro vale?
Saludos!
[Discusion] Crear Parches VKP Básicos - Shadow Player - Top Sony