2 Archivos adjunto(s)
Tutorial para parchar main
Introduccion:
Este humilde tutorial es para poder parchar cualquier telefono que no se pueda parchar pero si flashear, por ejemplo el w200 original, me di cuenta de esto gracias al tutorial para portar parches complejos de karl05, y vamos a utilizar una pequeña porcion de su tutorial, asi que agradecimientos y reconocimientos desde el principio a el.
Ok, COMENCEMOS!!!
Necesitamos:
*Main de nuestro telefono (lo encontras en la zona de descarga)
*IDA PRO (Advanced dissasembler)
*IDC SCRIPTS: ApplyPatch.idc y UndoPatch.idc
En este caso vamos a parchar la main del w200 como ejemplo, ya que existen millones de parches gracias a la conversion del k310 y no se puede parchar. Pero se puede con cualquier telefono.
Parte extraida del Tutorial de karl05
Instalamos IDA PRO
Ejecutamos el IDA PRO (32-bit) -> New -> Se abre una ventana para seleccionar el tipo de archivo que van a abrir, seleccionen cualquiera, el IDA luego reconocerá el formato adecuado. Seleccionamos en tipo: "All files (*.*)", buscamos y abrimos el main, extension .mbn
También se puede hacer click con el boton derecho del mouse sobre el archivo main -> Abrir con -> The interactive dissasembler
Se abre la ventana "Load new file", en "processor type" pongan "AMR Processors: AMR710a" (esta al principio de la lista) le damos "Set" y luego "OK".
Se abre la ventana Disassembly memory organization. En "ROM start address": 0x44140000 (o la base que corresponda a tu modelo*), colocamos el mismo valor en "Loading address": 0x44140000.
*si no la sabes basta con ver el archivo .vkp de algun parche y casi siempre aparece
Cita:
;W200 R4HA014
;Hyper_EQ_Preset_for_k310@w200_r4ha014
;(C) Lukitas
+44140000
6EA5BD: 0500000003 1405FE070A ;hyperBass
6EA5C2: 0E00000003 0E00000003 ;megabass
6EA5C7: 0000000600 0A06020D09 ;hyperVoice
6EA5CC: 0000000006 1200FC090B ;hyperTreble
Esta direccion no siempre es la misma, creo que dependen del DB, pero no estoy seguro. Fijense que la direccion aparece sin el 0x que pusimos en la direccion en el IDA PRO, es porque el 0x le indica al programa que es hexadecimal.
En "ROM size" el offset del ultimo byte del firm. Normalmente aparece solo, en W200 R4HA014 es 0x13CBB20. Dado que muchos parches agregan bloques de código nuevo después de este valor, es necesario ampliar un poco la sección de firm que va a ser leída por el IDA (con unos 100000 bytes es suficiente). Por esta razón colocamos 0x14CBB20. Hacemos lo mismo en "Loading size": 0x14CBB20. Una vez modificados estos 4 valores le damos "OK" y esperamos a que se cargue en la database. Cuando nos diga "Generating list of Strings", le damos "Cancel" (ver imagen1)
Nose si sera necesaria esta parte, la verdad que no probe si funciona sin hacerlo, cuando sepa les aviso, por el momento,la hagamos:
Vamos a "Options" -> "General" en el cuadrito de la derecha "Number of opcode bytes" colocamos "4"
Cambiamos a la siguiente solapa: "Analysis". Click sobre "Processor specific analysis options" y habilitamos la opción: "Disable pointer referencing", le damos "OK". Click en "Reanalyze program" y le damos "OK".
Vamos a "Options" -> "Setup data types…" y deshabilitamos "1 byte" y "2 word" (solo queda activado "3 double word") le damos "OK".
Bueno, hasta aca usamos parte del tutorial de karl05, editado un poco por mi para lo que nos interesa puntualmente.
Ahora usaremos los scripts que bajamos anteriormente, los tenemos que cargar en el IDA, nos vamos a File, IDC file..., y abrimos el ApplyPatch.idc y se nos abre una ventana para seleccionar el parche que queramos aplicar, buscamos en archivo .vkp, abrir y luego a yes, habra veces que tendremos que apretar mas de una vez yes. Ok, el parche esta aplicado, para aplicar otro simplemente hacemos click en el acceso que se creo a los scripts en el de ApplyPatch.idc. (ver imagen2)
cargamos todos los parches que queramos. Listo!, la main parchada
Ahora lo que haremos sera ir a file--->produce file---->create EXE file..., le damos guardar y listo! (asegurence de guardar la main parchada en otro directorio o con un nombre diferente al de la main original por cualquier cosa, mas vale prevenir que
lamentar)
"File" -> "Close". En el cuadro que nos aparece le damos "Don't pack database" y "Don't save database", luego aceptamos.
Bueno ya tenemos nuestra main, ahora solo la cargamos con el setool2lite, xs++ o programa que usen como si fuera una main comun y corriente, nuestro telefono que no acepta parches, ya esta parchado!!!!!;)
Re: Tutorial para parchar main
Con el W200 podría ponerle parches al ultimo firm?
Re: Tutorial para parchar main
Bueno, voy a probar a ver si vá...oye, se le puede meter todos los parches que quieras???...gracias
Re: Tutorial para parchar main
Hola no me quedo claro, osea es par el w200 original o el k310@w200?
se puede parchar el w200 o no? si es asi se puede liberar ? aclara por que no se entendio, gracias
Saludos
Re: Tutorial para parchar main
Cita:
Iniciado por
yomismo501
Hola.
He aplicado parches al firmware del w200 y cuando lo estoy subiendo me da error y no peudo subirlo.... nose que hacer ayuda!
amigo el w200 no se puede parchar con ningun programa gratuito, y por eso te da el error que tu me dices. Solo se pueden parchar los k310@w200.
Re: Tutorial para parchar main
Cita:
Iniciado por
yomismo501
Con el W200 podría ponerle parches al ultimo firm?
Cita:
Iniciado por
s.k.a.r.r.
amigo el w200 no se puede parchar con ningun programa gratuito, y por eso te da el error que tu me dices. Solo se pueden parchar los k310@w200.
Pero el que a creado el tuto dice que el ha podido y admeas con este sistema se aplican atens de subir. Si contestase el cerador del tuto ayudaria mucho.
Re: Tutorial para parchar main
Cita:
Iniciado por
lalit0
Lo estoy probando ahora mismo...nosé si irá, pero para los que no lo sepan, a la main que quieren parchear tienen que ponerle parche pero de la version del main que le van a poner si no les dará error....
Edito***
Lo acabo de probar y no vá da error al cargar la main, si esto realmente funciona que explique bién el creador del post como se hace, por que he hecho este procedimiento muy detenidamente y con la mayor precaución de no confundirme en nada...lo he hecho todo perfecto y da error....espero una respuesta saludos
lamentablemente an posteado algo que deseguro no lo an ni probado realmete da un error de bloque se queda trabado en el bloque 187 siempre aplique cualquier parche siempre queda ahi, para otra vez seria mejor demostrarlo antes de postarlo ok no simplemente hacer un copy paste asi como an hecho en este post
Re: Tutorial para parchar main
A mi se me queda en el bloque 75, pero pienso que eso varia segun el bloque que modifique cada parche. Pues tonces eso vale para los mismo que se podian parchear anteriormente. Gracias por vuestra colaboracion