MT65xx: backup, root, spflastool, mtkdroid.......Manual de uso

5g. leer el contenido de system.img


4shared.com/rar/CDCnxOjr/leer_contenido_system-ext4img_.html


En el post anterior 5d os mencionaba que podemos copiar al tlf cualquier archivo. Imaginaos que borrais algo y debemos volver a meterlo. Si no habeis hecho copia de lo borrado os toca bajarse una rom de vuestro modelo de terminal y extraerlo para meterlo. Si habeis hecho copia con spflastool, mtkdroidtool, gscript… lo que necesitamos es volver a descomprimirlo para meterlo al tlf. Lo mas normal es que hallamos borrado algo de system.


Para no enrollarme: lo primero es un software para montar imágenes con formato linux (ext3, ext4 basicamente). Yo utilizo Linux_Reader y es freeware, pero he subido dos mas (unque tengamos extension img nos dara error al abrirlo con winrar o similar). Asi que lo primero es montar la imagen con linux reader, si tenemos acceso podemos extraer el contenido.


En caso de montar pero no tenemos acceso, significa que aun esta la imagen “codificada” con el formato de samsung. Para ello ejecutamos sgs2toext4.jar (debeis tener instalado java) y se abre una ventana en primer plano (a la espera). Ahora arrastramos nuestro fichero system.img a la ventana. En este momento, se creara un fichero con el mismo nombre mas el añadido de ext4 en el mismo directorio del fichero arrastrado. Ya lo tenemos decodificado.
Ahora retrocedemos al paso anterior para montar con Linux_Reader y ya podemos extraer el contenido.

Si quereis ahorraros los pasos copiar antes los directorios que vayais a modificar o si os cuesta menos los ficheros que pensais modificar o eliminar.
 
Última edición por un moderador:
PASOS PARA INSTALAR CYGWIN Y ANDROID KITCHEN


Instalar la ultima versión de cygwin: descargar el ejecutable de instalación de http://www.cygwin.com/ y lo ejecutáis. Si ya teneis instalado un cygwin debéis desistalarlo completamente. Una vez desistalado borráis la carpeta donde estaba instalado. Ahora ejecutáis de nuevo la instalación y seleccionais “ descargar sin instalación”. Dejais la opción por Default y añadis los paquetes necesarios para que funcione android kitchen:

* Devel / gcc
* Interpreters / perl
* Utils / cpio
* Utils / util-linux
* Utils / ncurses
* Archive / zip
* Archive / unzip
* Web / wget


(en caso de que haya mas de un paquete con ese nombre los añadis también) y comenzáis. La carpeta de instalación y de descarga la debe crear el programa de nuevo, y asi os asegurais que es instalación limpia. Una vez descargado ejecutais de nuevo e instalais offline segun la guia inicial.

Una vez instaladoos descargáis la ultima versión de android kitchen de http://forum.xda-developers.com/showthread.php?t=633246 y la ultima versión de unpack/repack de Bruno martins de https://github.com/bgcngm/mtk-tools . Descomprimis Android kitchen y lo copiáis en un directorio nuevo llamado ak dentro de cygwin. Descomprimis mtktools y lo copiáis en un directorio nuevo llamado bm dentro de cygwin. En el caso de que os descargueis scripts para crear el recovery, copiáis la carpeta mt65xx dentro del directorio ak\tools, copiáis todos los ficheros de bm y los pegais en mt65xx sobreescribiendo todo (esto es debido a que ya teneis la ultima versión de perl). Para los plugin, añadiss directamente los ficheros al directorio ak\scripts\plugins, y no borrar nada, como indicaba en un post anterior (ahora os saldran un monton de scripts). En un post anterior creábamos una carpeta bt y dentro copiabamos unpack-bootimg.pl, esto queda tal cual.


Aquí esta cygwin con fecha del dia de actualizacion, por lo que podeis ahorraros los pasos anteriores: http://www.4shared.com/rar/BY8a1Rml/cygwin_actua_17_02_2013.html


Vale y todo esto para que? Cygwin es un emulador de Linux: nos permite ejecutar comandos de Linux en windows, para los que queramos empezar un poco con este sistema operativo. Es decir nos crea un mini entorno linux. Y android kitchen es una serie de utilidades para trabajar con las imágenes de los telefonos chinos (deodexar, desempaquetar….)


https://www.movilesdualsim.com/tema/Backup-firmware-SMARPHONE-F9300-mtk6577.22396/page6
 
Última edición por un moderador:
USO DEL COMANDO DD

Se me ha pasado antes: para el uso del comando dd es obvio que nos hace falta abrir una consola o shell (ventana de msdos para entendernos) en android. Descargarse Android terminal emulador (de Jack Palevich) de play store. Una vez lo ejecuteis os saldra el signo de dolar $ como prompt, indicando que sois usuarios. Ejecutar el comando su para se superusuarios (root o en windows se llama administrador) y aparecera como prompt de sistema la almohadilla #.
 
BUENO COMUNICAR A TODOS LOS QUE LEAN ESTE POST QUE YA ESTA TERMINADO. CREO QUE ES MUY INTERESANTE, POR LO QUE SI ALGUIEN CONOCE ALGUN MODERADOR QUE LE PUEDA PONER ALGUNA CHINCHETA PARA QUE TENGA FACIL ACCESO LA PAGINA MEJOR: YO NO CONOZCO NINGUNO. GRACIAS

Tengo un mtk6577 F9300 y tras muchas pruebas y calentamientos de cabeza he abierto un hilo sobre mi modelo. Esta info procede de esta web https://www.movilesdualsim.com/tema/Backup-firmware-SMARPHONE-F9300-mtk6577.22396 , y pretende ser una guia/manual basica para todo el que empieza con un movil chino. En la direccion anterior teneis informacion ampliada de todo, aunque un poco desordenada pues se ha ido exponiendo mientras se conocia.

Tener en cuenta que los pasos son comunes en todos los tlfs, aunque hay que bajarse el firmware especifico de nuestro tlf. Referente al soft para los quad core, en los enlaces que pondre son ultima version y he leido que son validos para ellos, PERO NO LO HE PROBADO, ASI QUE BUSCAR SI HAY UNA VERSION MAS RECIENTE.
RECOMIENDO LEER TODO ESTO ANTES DE CAMBIAR CUALQUIER TIPO DE SOFTWARE DE NUESTRO MOVIL. AQUÍ EXPLICARE COMO SE HACE TODO Y PORQUE.
Lo primero que debemos saber de los telefonos chinos es que existe la marca china que tiene soporte (bluebo, hdc, zopo, hero…) CON SU CONSIGUIENTE PRECIO SUPERIOR y existen las copias de otros fabricantes (y copias de fabricantes de otros fabricantes) , por supuesto a menor precio. Por mucho parecido que tenga nuesto telefono clon a nivel fisico como software NUNCA sera el original, por lo tanto no meterle un firmware que no esteis seguros o dejais eltelefono sin funcionar una buena temporada.
Por lo tanto lo primero es conocer el modelo de nuestro telefono chino: para ello le quitais la bateria y lo tiene serigrafiado junto a los imei. Sin embargo a la hora de buscar el software tambien podemos guiarnos por lo que dice nuestro software, en concreto “CONFIGURACION>ACERCA DEL TLF>NUMERO DE MODELO”. Y OJO QUE HAY TLFS CON EL MISMO MODELO Y VARIAS VERSIONES DE TLF.
Omitire poner capturas de pantalla pues hay mucha informacion sobre el tema en internet. Para el uso de edicion utilizo Notepad++. Es freeware.


INDICE
1.Instalacion de drivers:
a. Android usb phone (preloader, composite, o como quieras)
b. driver mt65xx
c. driver cdc serial
d. driver manual: memoria masiva...
e. reinstalar drivers.

2. Backup de la rom:
a. Rotear el tlf.
b. Crear el scatter file
c. SP Flashtool
d. Mtkdroidtool: metodo general
e. Mtkdroidtool: full rom
f. Adaptar copia a SPflastool
g. Script sh: con gscript lite
h. Aplicaciones de backup: por ejemplo titanium backup.
i. backupmanual: comando dd
j. Backup manual con Script sh: ejecutar script personalizado.

3. Meter una rom:
a. Secciones a introducir: funcion de cada seccion.
b. SPFlashTool
c. con recovery (ver 2j)
d. Meter secciones de una rom con comando dd

4. Enlaces para descarga de firmware y software.

5. Otros puntos de interes
a. Añadir/eliminar app de sistema MANUALMENTE (en la carpeta system)
b. eliminar app de sistema con mtkdroidtools.
c. Instalar aplicaciones para tunear o sustituir a otras (por ejemplo el launcher)
d. leer el contenido de system.img
e. Cambiar el logo de inicio con logobuilder 1.3

6. CYGWIN y ANDROID KITCHEN
a. Instalacion
b. Crear Recovery ClockWordMod con CYGWIN
c. Manual CWM
d. Deodexar la rom con Android Kitchen
e. Modificar app (apktools, apkmanager)

7. ADB
8. Recuperar Imei
9. Recalibrar bateria

RECOMENDADO BATERIA CARGADA MINIMO AL 50 %: LUEGO QUE NO HAYA SUSTOS POR ESTO.
 
Última edición por un moderador:
Punto 1. INSTALACION DE DRIVERS
La primera confusion puede surgir al querer instalar el telefono al pc. El telefono puede ser detectado de cuatro maneras diferentes:

1a . Android usb Phone : Telefono apagado y conectado al pc: en este caso los drivers a instalar deben ser los USB PRELOADER que correspondan a tu telefono (en realidad son genericos). Otra cosa: yo tengo un mtk6577, para el 6575 vale pero para los 6589 no se si son los mismos drivers.

1b . Driver mt65xx : Telefono encendido y MODO DEPURACION USB esta activo: en este caso debemos instalar los drivers ADB ( google Android usb). Con este modo puedo controlar el telefono completamente desde el pc (numerosos programas).

1c . Driver cdc Serial : Si arrancamos el tlf pulsando power + volumen_up accedemos a un menu que nos da a elegir arranque en recovery o fastboot. Si conectamos el tlf ahora nos aparecen dos drivres nuevos: cdc serial y MT65xx androd phone: el puerto com y el dispositivo conectado al com, nuestro tlf. Es un puerto com de toda la vida, me explico: usb es “com avanzado”, tiene mas velocidad, es multipuesto…..pero el com normal es el DB9. Podriamos decir que la conexión fisica usb emula un com DB9 (serial mas lento). Se comporta igual que el punto 1ª pero a menor velocidad.

1d . Driver manual : Telefono encendido y MODO DEPURACION USB esta desactivado: en este caso nosotros le indicaremos manualmente al telefono como queremos que funcione: almacenamiento masivo, multimedia….. Una aclaracion en este punto: cuando le decimos almacenamiento masivo puede detectarnos 1 o 2 unidades, ¿de que depende?. Una unidad es nuestra tarjeta fisica SDCARD y la siguiente es la del almacenamiento del telefono. Es posible que no tengais almacenamiento de tlf (jiayu G2S) porque el propio fabricante no crea una particion fat32 (windows) para guardar datos. De tal manera estais obligados a meterle una tarjeta de memoria externa.
NOTA ADICIONAL: a la hora de instalar los drivers he comprobado que no todos tiene el mismo nombre una vez instalados. Por lo tanto, si comprobamos que hay comunicación con nuestro terminal no preocuparse por el nombre.

http://www.4shared.com/rar/UpuoCWrv/drivers_MTK6577.html
http://www.4shared.com/rar/b4RykL2E/mediatek_drivers_mtk657x.html

1e . Reinstalar drivers : Cuando conectamos el movil apagado para usar sp flashtool, windows me lo detecta en un numero de puerto y luego me lo instala en otro diferente. No se porque, pero tampoco me aparece en el administrador de dispositivos una vez instalado. Si quereis cambiar los driver preloader que instalasteis en windows, abris "administrador de dispositivos" de windows, abris la seccion " puertos (com y lpt)", conectais vuestro movil sin bateria con el cable usb, conectais la bateria y por un momento lo detecta en el " administrador de dispositivos " de windows. Entonces pinchais dos veces sobre ello y se os abrira las propiedades y ahi podeis cambiar los drivers por otros si quereis (o incluso desistalar).
 
Punto 2. BACKUP DE LA ROM.

A no ser que nuestro telefono funcione mal de inicio, lo primero es hacer un backup de todo completo.
2a . Rotear el tlf : Ser root significa tener acceso a todo. Los tlf chino ya vienen con un explorador con acceso root (acceso a la carpeta principal, system, data….) llamado Root explorer (por play store teneis fx explorer y su add root). Si intentais entrar comprobareis que podeis, sin embargo si quereis hacer una copia no os dejara hacerla completa. Yo he probado varios programas pero el que no me ha fallado nunca ha sido MtkDroidTool. Podeis probar primero SRSroot, Root_with_Restore_by_Bin4ry_v3 y si no van seguis con Mtkdroidtools. Para ello conecto el tlf como el punto 1b.

Lo que ocurre es que los moviles chinos vienen “pre-roteados” (ya tienen su, superuser y root explorer), de manera que si tenemos acceso a todo con un explorador root, por eso algunos programas nos dicen que ya somos root y otros se dedican a sobreescribir el fichero su y superuser. E incluso exploradores de archivos que nos dicen que leen root tambien fallan. Y esto es debido a que aun falta modificar el boot.ini y recovery.ini para que sea detectado como root completo.
SRSROOT Os descargais el programa, lo instalais y le dais a rootear. Si os aparece en la pantalla del movil restablecer datos, aceptais y listo. Se reinicia y ya esta. [url]http://www.srsroot.com/[/URL]

ROOT_with_Restore Os descargais el programa, lo descomprimis y ejecutais Runme.bat. Si vuestro modelo de movil lo identificais en pantalla elegis la opcion concreta, en caso contrario elegis la opcion 4. Si Os aparece en la pantalla del movil restablecer datos, aceptais y listo. Se reinicia y ya esta. http://www.4shared.com/rar/YmQ83vnS/root_with_restore_by_bin4ry_v3.html

MTKDROIDTOOL 2.45 El proceso root en mtkdroidtool es copiar su, superuser, rootexplorer y modificar el boot.img y system.img.. Los dos primeros es para controlar las aplicaciones que piden acceso root y tengamos el conocimiento de ello, de tal manera que le demos permiso o no. El tercero es copiar el explorador root a /system y el cuarto y quinto es para tener acceso a todo.
Ejecuto mtkdroidtools y no me muestra los valores de "Uboot built" y "lcd driver IC" y como consecuencia en la siguiente pantalla no me habilita la pestaña "BACKUP". Pues ahora pulso sobre el boton ROOT, y entonces ya me muestra los valores que faltaban y me habilita la opcion de BACKUP. Ahora pulso sobre BACKUP y me hace la copia completa en un subdirectorio de mi programa mtkdroidtools llamado “backups”. Una vez terminado vamos a rootearlo. Podreis observar que junto la pestaña de "Recovery and Boot" tenemos tres opciones. Seleccionamos "To choose the boot.img file" y pulsamos sobre la pestaña de "Recovery and Boot". Ahora le indicamos la ruta de la copia hecha anteriormente para que encuentre los ficheros boot.img y recovery.img. En este momento los modifica para que seamos root y cuando nos pregunte si queremos meterlos al tlf le decimos que si a los dos, pero seleccionamos no al arrancar en el recovery. Reiniciamos y listo.

Tambien podemos hacer lo siguiente: una vez hecha la copia desconectamos el tlf. Observar que junto la pestaña de "Recovery and Boot" tenemos solo 1 opcion. Seleccionamos "To choose the boot.img file" y pulsamos sobre la pestaña de "Recovery and Boot". Ahora le indicamos la ruta de la copia hecha anteriormente para que encuentre los ficheros boot.img y recovery.img. En este momento los modifica para que seamos root y los guarda en un subdirectori llamado "recovery". Conectamos el tlf, seleccionamos "Install already prepared files" y seleccionamos los archivos parcheados de nuestro directorio "recovery", le decimos que los meta y cuando pregunte reiniciar en recovery le decimos que no. Reiniciamos manualmente nosotros el tlf.

Si tuvieramos alguna pega, antes del proceso pulsamos sobre la pestaña ROOT para ser root temporales (esta pestaña solo saldra si el tlf detecta que no somos root, en caso contrario no la muestra). Si pulsamos sobre SuperUser nos reinstala rootexplorer, su, mobileuncle tools y superuser. En este ultimo caso tenemos dos a elegir, seleccionamos una y ya esta. La funcion de los dos es la misma, solo que son de fabricantes diferentes: euchainfire (mas opciones de personalizacion) y noshufou. Podeis buscarlos por Playstore. Respecto a mobileuncletools podeis descargar la ultima version tambien de playstore y sustituirla por la instalada. Si quereis tener las ultimas versiones en mtkdroidtool, descargarlas de playstore y copiarlas al directorio "files" de mtkdroidtools (manteniendo el mismo nombre).
Ahora ya deberia mostrar todos los valores en pantalla el programa mtkdroidtools.
http://www.4shared.com/rar/D_qa7Soz/mtkdroidtools_v245.html

2b. Generar el scatter file : El primerpaso que debemos hacer es generar el fichero scatter de nuestro telefono. El firmware se compone de varias partes ( secciones o direccionamiento) y este fichero indica el inicio y final de cada una. OJO NO TODOS LOS SCATTER SON IGUALES, es de cajon: no todos los telefonos son iguales. Para generarlo hay varias formas, pero aquí explicare como se hace con mtkdroidtools y mtkromstudio:
a. Mtkdroidtool. Conectamos el telefono en modo adb, y arrancamos el programa. Un vez detectado el movil en el programa nos aparece un boton “BLOCKS MAP”. Pinchamos sobre el y nos aparece la informacion del fichero scatter. Ahora le damos a “Create scatter file” y lo salvamos. No lo he dicho aun, pero la correcta organización e identificacion de carpetas y archivos es primordial. El programa usa nombres genericos, po reso debemos tener claro donde lo guardamos.
b. MtkRomStudio. Este programa crea el scatter desde un fichero .info. ¿de donde saco el fichero info? Pues del telefono. Y esto es manualmente. Vamos al directorio /PROC de nuestro telefono y alli hay un fichero quese llama DUMCHAR_INFO. Lo copiamos en la sdcard, conectamos el telefono en modo almacenamiento masivo y copiamos este fichero a nuestro pc. Para que nos lo reconozca el programa debemos sustituir el guion bajo por un punto (extension info = DUMCHAR.INFO). Abrimos elprograma mtkromstudio, pulsamos “CREATE ROM” , seleccionamos nuestro fichero renombrado y automaticamente nos da la opcion de guardado del fichero scatter de nuestro movil. Observar que si no conectamos nuesto telefono al pc y arrancamos mtkdroidtool, tambien tenemos la opcion de generar el scatter en offline. http://www.4shared.com/archive/E8eGP0yy/mtk_rom_studio_1177301.html

2c . Backup con SPFlastool : Spflastool es el programa utilizado para hacer copiar el soft o extraerlo del tlf. http://www.4shared.com/zip/tg5llCpp/sp_flash_tool_v313040119.html
De momento no conectamos el telefono al ordenador. Una vez que tenemos el fichero scatter creado ahora toca configurar las secciones a leer. Para ello nos valemos del punto proceso 1. Cuando hemos abierto mtkdroidtools y hemos pulsado sobre “BLOKCS MAP” o hemos abierto MtkRomStudio y hemos abierto el fichero info, inmediatamente se nos aparece en pantalla una tabla (con filas y columnas), la cual nos muestra todo el mapa de memoria de nuestro telefono. Pues bien, estos valores seran los que nos serviran para configurar flashtool para hacer la lectura de todas las secciones. Los valores de esta tabla esta indicada en hexadecimal. Podeis hacer una prueba y asi os familiarizais un poquito con hexadecimal los que lo desconocen. Abrir calculadora de windows y la poneis en hexadecimal (Menu Ver>Programador).
Os saldra algo parecido al fichero firmware.info (/proc/dumchar_info) :


Nombre…………..tamaño…………………Inicio…………………………..particion
preloader 0x0000000000040000 0x0000000000000000 2 /dev/misc-sd
dsp_bl 0x00000000005c0000 0x0000000000040000 2 /dev/misc-sd
mbr 0x0000000000004000 0x0000000000000000 2 /dev/block/mmcblk0
ebr1 0x0000000000004000 0x0000000000004000 2 /dev/block/mmcblk0p1
pmt 0x0000000000400000 0x0000000000008000 2 /dev/block/mmcblk0
nvram 0x0000000000500000 0x0000000000408000 2 /dev/block/mmcblk0
seccfg 0x0000000000020000 0x0000000000908000 2 /dev/block/mmcblk0
uboot 0x0000000000060000 0x0000000000928000 2 /dev/block/mmcblk0
bootimg 0x0000000000600000 0x0000000000988000 2 /dev/block/mmcblk0
recovery 0x0000000000600000 0x0000000000f88000 2 /dev/block/mmcblk0
sec_ro 0x0000000000600000 0x0000000001588000 2 /dev/block/mmcblk0p2
misc 0x0000000000060000 0x0000000001b88000 2 /dev/block/mmcblk0
logo 0x0000000000300000 0x0000000001be8000 2 /dev/block/mmcblk0
expdb 0x0000000000200000 0x0000000001ee8000 2 /dev/block/mmcblk0
android 0x0000000020100000 0x00000000020e8000 2 /dev/block/mmcblk0p3
cache 0x0000000007100000 0x00000000221e8000 2 /dev/block/mmcblk0p4
usrdata 0x0000000039100000 0x00000000292e8000 2 /dev/block/mmcblk0p5
fat 0x0000000083718000 0x00000000623e8000 2 /dev/block/mmcblk0p6
bmtpool 0x0000000001500000 0x00000000ff9f00a8 2 /dev/block/mmcblk0



Si observamos la tabla, en cada fila se describe el mapa de memoria que ocupa cada seccion del firmware y como es logico estan correlativas sus posiciones. Pues en la columna SIZE (tamaño) comenzamos a sumar esos valores en orden y comprobaremos que coinciden exactamente con los valores de la siguiente otra columna, “part adress” para mtkromstudio y “scatter” para mtkdroidtools. Esta otra columna es la direccion de inicio de una region concreta. Podeis ir comprobando el nombre de la seccion por cada fila. Bien pues ahora toca abrir Spflastool y nos vamos a la pestaña “Read back”. Aquí iremos añadiendo manualmente todas las seccionesque queremos leer de nuestro dispositivo.
Le damos a “add” y el programa añade una seccion con nombre “rom_0”. Bien pulsamos dos veces sobre “rom_0” y la primera pregunta es el nombre con el que sera guardado. Ese nombre sera el nombre de la seccion a leer: respetar MAYUSCULAS y MINUSCULAS en el nombre. ( Nombres de las secciones: preloader.bin / DSP_BL / MBR / EBR1 / uboot.bin / boot.img / recovery.img / secro.img / logo.bin / system.img / cache.img / userdata.img )
Aceptamos y nos aparece una ventana para configurar la seccion. Seleccionamos “Read Page Only” y ahora toca introducir los valores de la tabla anterior explicada: “star adress” es el valor de inicio de la seccion a leer (“part adress” para mtkromstudio y “scatter”para mtkdroidtools) y continuacion en “Length” es el tamaño de esa seccion (“size” para ambos programas). Una vez introducidos aceptamos y ya tenemos configurado nuestra primera seccion a leer. Y continuamos con las demas.
Nota: podemos escribir los valores en decimal y los pasa a hexadecimal automaticamente, pero es mas lioso. Esto lo dejo para el comando dd.
Una vez configuradas todas, si pulsamos sobre “Read Back” nos pide nuestro fichero scatter, pues bien en la pestaña “download” del programa, observamos que solo tenemos cargado (y lo hace el propio programa) un fichero. A continuacion pulsamos sobre el boton “Scatter-loading” y nos pide la ubicación de nuestro fichero scatter creado anteriormente (en realidad esto es lo primero hacer). Una nota sin importancia: observar la tonteria de tener que cargar este fichero, pues es trabajar 2 veces. Lo suyo hubiera sido cargar el fichero y seleccionar las secciones a descargar, sin embargo te obliga a meter manualmente las direcciones. Bien MUCHO OJO CON LAS DIRECCIONES A LEER, ASEGURARSE BIEN PARA TENER UNA COPIA EN CONDICIONES. De todas maneras no preocuparse si no haceis bien este punto porque hay otras formas de hacerlo de manera automatica.

Una vez configuradas las secciones pulsamos sobre el boton “Readback” (tiene una flecha azul encima), y el programa queda en modo espera. Ahora con el telefono apagado y sin bateria lo conectamos con el cable usb al ordenador. Conectamos la bateria al telefono y automaticamente el programa spflashtool debe detectar el movil y se pone a leer. Puede tardar unos 15 sg para detectar bien el movil, depende de lo que tarde windows en instalarlo asi que paciencia. Una vez detectado se pone a leer. Aquí mucha mas paciencia puespuede tardar cerca 1 hora.
Otra nota: en mi modelo de tlf F9300 para que lo detecte apagado el ordenador, conecto el cable usb y luego la bateria. Sin embargo he comprobado en otro modelo i93000, que con solo conectar el cable usb es suficiente. De todas maneras buscar tambien el foro concreto de vuestro terminal y alli tendreis ayuda especifica. Cada vez que usemos Spflashtool hay que actualizar el tlf de fecha y hora.


2d . Mtkdroidtool: copia de rom completa con scatter file (indico inicio y final de cada seccion) à Una vez rooteado el tlf, conectamos el tlf en modo 1a . Arrancamos mtkdroidtools y simplemente la damos a la pestaña BACKUP. Nos hace una copia completa de nuestra rom en un subdirectorio llamado backups.

2e . Mtkdroidtool: full rom: le he llamado full rom por ponerle un nombre. Si tomamos de ejemplo el mapa de memoria del post anterior: Ejecuto SPflashTool y en “ReadBack” y hago una sola lectura de todo:
Nombre fichero: ROM_0
Inicio: 0x0000000000000000
Final: 0x00000000623e8000 (yo copio solo hasta /data)

Ahora SPFlashTool me extrae un solo fichero con todos los datos. Conectamos el tlf en modo ADB y ejecutamos MTKdroidtools. Mtkdroidtools tiene una pestaña que se pone activa cuando nuestro tlf esta conectado y detectado (root necesario para copia total de system), y dice “ To process File ROM_from flashTool”. Pulsamos sobre ella, seleccionamos fichero ROM_0 y ahora nos crea copia de nuestro firmware automaticamente. Ubicación siempre en directorio “backup” de mtkdroid.
Creo que lo que hace es buscar el scattre file en el movil y luego crea las secciones del fichero. La verdad que esperaba hacerlo offline, elegir ROM_0 y después opción de elegir mi firmware_info o mi scatter file en offline. Pero bueno, haciéndolo Online descarta fallos de equivocación de estos ficheros.

2f. Adaptar copia a Spflastool : una vez copiadas los datos con Spflastool o con mtkdroidtool, si probamos a cargarlos con SpFlastool comprobaremos que nos da error en algun fichero. Para evitar esto hay que prepararlos para el programa. Podemos hacerlo de dos maneras:
1.Mtkdroidtools. Arrancais el programa y seleccionais “To prepare blocks for Flash Tool”, seleccionais el fichero md5 de vuestra copia y crea un nuevo subdirectorio “!Files_to_FlashTool” con los datos preparados.
2.Mtkromstudio. Arrancais el programa, seleccionais “create rom” y le decis el fichero firmware.info que busca de la copia de mtkdroidtool. Crea un directorio bak con los ficheros originales que ha modificado.
NOTAS: 1.para hacer la modificacion con mtkromstudio es recomendable hacer antes una copia del directorio original del firmware, pues los modifica de la ubicación original, aunque nos crea una copia en un subdirectorio llamado bak.. Esto no es inconveniente, pero no debeis trabajar sobre unos mismos ficheros con programas diferentes. Os dara error de checksum en alguno. 2. Veremos mas adelante otras formas de hacer las copias, y podeis tambien adaptarlas para flashtool con estos programas.
El adaptarlas no se porque es, pero es necesario y obligatorio para poder cargar bien algunas secciones.
 
2g . Script sh: con gscript lite : Os descargáis del playstore el programa gscrip lite. Este programa permite ejecutar script sh que le carguemos . Para hacer copia del firmware debéis mirar la versión de android que teneis, pues según la versión hay un script para ello. En mi caso tengo la versión 4.04 y he cargado el archivo para version 4: back_mt6577_a4_v2e_sdcard.sh. Tambien deciros que ha y otro archivo: back_mt6577_a4_v2e.sh. LA diferencia radica en que el 1º archivo hace copia en la sdcard y el 2º en la sdcard2. Asi que muy atentos a las ubicaciones, pues lo que interesa es si teneis espacio suficiente.


Bien, una vez instalado gscript lite se os habrá creado un directorio en la sdcard o sdcard2 llamado “gscript”. Os descargáis los script ( son ficheros con extensión sh) y los copiáis dentro de este directorio. Ahora ejecutáis el programa y por defecto os aparecen 3 scripts: “reboot phone”, “list sd-card” y “cpu information”. Le dais a “add script” y os aparecerán los scripts que anteriormente habéis copiado en el directorio, seleccionais el correcto y os aparece junto con los otros. En este momento si le dais una pulsación se ejecuta el script. Si ejecutáis la copia, el programa creara un directorio llamado “backup” en la raíz de sdcard o sdcard2, y dentro otro directorio que como nombre tendra la fecha de creación. Dentro teneis la copia del firmware. Si quereis opciones adicionales aparte de RUN el script, seleccionais el script y lo manteneis seleccionado hasta que se abra una pantalla que os indica mas opciones: edit, run, delete, save to sd, cancel. Si le damos a “save to sd”, nos copia el script seleccionado dentro del directorio gscript. http://www.4shared.com/rar/dNZ-QS4y/bakuptool_mt6577_40_v2e_4gb_sd.html
http://www.4shared.com/rar/AFlHNsb4/bakuptool_mt6577_40_v2e_4gb_sd.html
http://www.4shared.com/rar/AFlHNsb4/bakuptool_mt6577_40_v2e_4gb_sd.html

Podeis adaptar la copia como en el punto anterior, pero probar primero cargarla por si no da ningun error.


2h. Backup con aplicaciones : si solo queremos una copia y no queremos complicarnos la vida, con aplicaciones como titanium backup lo hemos resuelto todo.


2i. backup manual: comando dd : Para el uso del comando dd nos hace falta abrir una consola o shell (ventana de msdos para entendernos) en android. Descargarse Android terminal emulador (de Jack Palevich) de play store, o cualquier otro similar. Una vez lo ejecuteis os saldra el signo de dolar $ como prompt, indicando que sois usuarios. Ejecutar el comando “su” para ser superusuarios (root o en windows se llama administrador) y aparecera como prompt de sistema la almohadilla #.
De este comando solo vamos a utilizar 3 parametros para nuestro uso aunque tiene mas: bs, count y skip. Linux distingue SIEMPRE entre mayúsculas y minúsculas, a diferencia de Windows que SOLO distingue para las password. El comando dd copia ficheros, particiones, etc. Hay otro comando “cat” que nos lee el contenido de un fichero y lo muestra en pantalla, aunque podemos redireccionar la salida para que nos cree otro fichero o nos añada el contenido a uno ya existente.

dd if= “origen” of= “destino” bs=xx count=xx skip=xx
If= input file (fichero origen)
of= output file (fichero de salida)
bs= block size (tamaño de bloque)
count= nº de bloques a copiar
skip= offset inicial (nº de bloques que se contaran y omitirán desde el inicio del fichero antes de empezar a copiar)

Una parte de el mapa de memoria del fichero dumchar_info F9300 es:

Part_Name….. Size…………………… StartAddr……………… Type MapTo
mbr 0x0000000000004000 0x0000000000000000 2 /dev/block/mmcblk0
ebr1 0x0000000000004000 0x0000000000004000 2 /dev/block/mmcblk0p1
pmt 0x0000000000400000 0x0000000000008000 2 /dev/block/mmcblk0

Vamos a copiar mbr:
dd if=/dev/block/mmcblk0 of=/sdcard/mbr bs=512 count=32
Para saber el valor de count haremos el siguiente calculo. El tamaño de mbr es 4000 en hexadecimal, lo pasamos a decimal y lo dividimos entre el bs. Y da 32. Este comando copia los primeros 512 bytes x32= 16384 bytes del fichero, que en hexadecimal equivale a 0x4000 (la notación 0x indica que es valor en hexadecimal) a la ruta /sdcard/ con nombre de fichero mbr.

Vamos a copiar ebr1.
dd if=/dev/block/mmcblk0 of=/sdcard2/ebr1 bs=512 count=32 skip=32
Este comando siempre empieza a leer desde el inicio del fichero. El parámetro skip es el primero que se lee y significa que 512 byte x 32 skip= 0x4000 que saltara desde el comienzo del fichero y copiara a partir de ese desplazamiento 512 bytes x 32 count= 0x4000 bytes. El destino, un fichero llamado ebr1 en la sdcard2 .

Vamos con pmt:
dd if=/dev/block/mmcblk0 of=/sdcard/pmt bs=512 count=8192 skip=64
Saltamos el tamaño de los otros dos ficheros y leemos el tamaño de pmt. Este esta ya claro

Tres puntualizaciones :
A) Si omitimos parámetros ( solo ponemos “dd if=/dev/block/mmcblk0 of=/sdcard/mbr “), nos copia el fichero completo en la ruta especificada. Esto puede suponer un fichero de 10 Kb o 10 Gb.

B) Ebr1 es una partición. Por lo tanto podríamos poner “dd if=/dev/block/mmcblk0p1 of=/sdcard/ebr1” y solo nos copiaría la partición 1.

C) El tamaño de bs debe ser múltiplo o divisor de 512. Nos valdría 256, 128, 1024,etc. Si bs es mas pequeño, mas precisión de datos podemos copiar. Es obvio que si cambia bs, los otros parámetros también cambian. dd
if=/dev/block/mmcblk0 of=/sdcard2/ebr1 bs=1024 count=16 skip=16

Otra forma mas facil para algunos: en este caso solo cuenta 1 bloque y el tamaño de bloque es el tamaño total del archivo a leer.

Part_Name… Size StartAddr…………. Type ……..MapTo
uboot 0x0000000000060000 0x0000000000928000 2 /dev/block/mmcblk0
bootimg 0x0000000000600000 0x0000000000988000 2 /dev/block/mmcblk0
recovery 0x0000000000600000 0x0000000000f88000 2 /dev/block/mmcblk0
logo 0x0000000000300000 0x0000000001be8000 2 /dev/block/mmcblk0

dd if=/dev/uboot of=/mnt/sdcard2/uboot.bin count=1 bs=393216
dd if=/dev/bootimg of=/mnt/sdcard2/boot.img count=1 bs=6291456
dd if=/dev/recovery of=/mnt/sdcard2/recovery.img count=1 bs=6291456
dd if=/dev/logo of=/mnt/sdcard2/logo.bin count=1 bs=3145728


Todos los ficheros para la copia del firmware los tenemos en el directorio /dev. Eso si: en el destino debemos tener espacio suficiente.
dd if=/dev/preloader of=/sdcard/copia/preloader
dd if=/dev/dsp_bl of=/sdcard/copia/DSP_BL

Para el caso de cargar los ficheros con SP flashtool, respetar también mayúsculas y minuscuals. Otra cosa, hay otro programa que se llama Flashtool (sin SP delante), este no vale para nuestros tlfs, ya que la SP à SmartPhone.
NOTA: según el modelo de tlf podemos tener particiones mtd o emmc: esto figura en vuestro fichero firmware_info.

Abrir consola desde Windows: Podemos abrir una consola en el propio teléfono desde windows con dos programas: QTADB y MTKDROIDTOOLS. Conectamos el tlf com modo depuracion activa:
QTADB: iniciamos el programa y pulsamos sobre” herramientas>shell”
MTKDROIDTOOLS: iniciamos programa, pulsamos sobre “ADB TERMINAL” y se nos abre una ventana dos. Entramos en el directorio adb escribiendo “cd adb” y ENTER. Escribimos “adb devices” y si nos ha detectado el tlf nos aparece el numero de serie. Escribimos “adb shell” y ENTER. Ya lo tenemos. Cuando terminemos ecribimos 2 o 3 veces “exit” para salir de la shell linux y de la ventana dos.
No tenemos indicación alguna del estado de la ejecución (barra de estado o de progreso de la tarea), tener paciencia. Podeis probar si lo esta haciendo mirando con vuestro explorer a ver si el fichero esta y va aumentando de tamaño, vais refrescando.


2j. Backup manual con Script sh: ejecutar script personalizado : Con el programa Gscript lite vimos que podíamos ejecutar script. Pero no es necesario tener gscript para ello, hay un comando para ejecutar estos ficheros: el comando “ sh “. Pos vale. Creamos el archivo “ 123.sh “. Escribir las ordenes date, time, ls. Despues de cada orden pulsamos ENTER. Lo copiamos a la /sdcard. Y ahora ejecutamos “ sh /mnt/sdcard/123.sh” (indicar ruta completa) Se nos muestra en pantalla la salida de las tres ordenes anteriores
Los ficheros sh en linux son como los bat en windows: contenedores de comandos. Ahora abrir con notepad++ los ficheros que usa gscript lite para hacer las copias (back_mt6577_a4_v2e_sd.sh y back_mt6577_a4_v2e_sd2.sh) y centraros en el comando visto. Cuando veais en programación “ >null” significa que no da mensaje en pantalla, en nuestro caso no muestra mensaje “copia del fichero xxx”. Aunque si habeis visto algo de linux o simplemente conoceis el funcionamiento de los ficheros bat, podreis identificar algunos comandos en el script.
Ahora podeis crear un sh para hacer copia de vuestro firmware, e incluso lo podemos cargar con gscript lite. Aseguraos de que tengáis espacio suficiente en el destino.
[FONT=&quot]Dd if=/dev/block/mmcblk0p3 of=/mnt/sdcard/system.img
Dd if=/dev/block/mmcblk0p4 of=/mnt/sdcard/cache.img
Dd if=/dev/block/mmcblk0p5 of=/mnt/sdcard/data.img
.
. y sigue, y sigue.

Anteriormente vimos que podemos adaptar los ficheros copiados con el comando dd para meterlos con flashtool. Los programas eran mtkromstudio y mtkdroidtool. En el caso de este ultimo busca un fichero .md5. Para generar un md5 de la copia hecha bajarse el programa FlashSfv 2.6 ( es freeware) y generáis uno de todos los ficheros de la rom que habeis extraido. El programa tambien vale para comprobar el checksum.[/FONT]
 
Punto 3. METER UNA ROM


3a . Secciones a introducir: funcion de cada seccion : este punto es importantisimo, pues debemos saber que hace cada seccion. Las siguientes seis secciones son las unicas que deberiamos de modificar. Para el root solo le metemos boot y recovery. Logo.bin es para cambiar el logo de inicio. System, data y cache nos serviran para cambiar el sistema operativo y hacer reseteo del terminal.

Boot.img à parametros de inicio en modo normal
Recovery.img à parametros de inicio en modo recovery
Logo.bin à logo de inicio
System.img à el sistema operativo android
Data.img à userdata. Datos de usuario. Es donde se instalan las aplicaciones y se ubican todos los parametros de configuracion para el funcionamiento. Aunque esto esta cambiando, pues por ejemplo a partir de ICS podemos seleccionar donde queremos que se instalen las apliaciones.
Cache.img à datos temporales o de cache

El resto de secciones se ocupan de temas de imei, conectividad……no se que mas. Por lo tanto no debeis marcar estas SIN UN BACKUP DE VUESTRA ROM. No quiero decir que no os vaya a funcionar el tlf, sino que para cambiar de version no es necesario modificar estas. Un ejemplo: perdeis los imei y debeis de generarlos de nuevo con un programa y copiarlos a /data. Y cada vez que hagais un reset de fabrica (borra el contenido de /data y /cache) debeis volver a copiar los imeis para poder llamar y recibir llamadas.
http://www.androidforos.es/tutoriales/particiones-android-detalle-boot-data-system-recovery-cache-misc-sdcard-ext-t1064.html
http://www.androidsis.com/memoria-del-telefono-llena-donde-se-han-metido-todos-esos-mbgb-de-mi-dispositivo/
http://faqsandroid.com/estructura-del-sistema-de-ficheros-en-android/

3b. meter una rom con SPFlashtool : Esto es lo mas sencillo de todo. Quizapor eso habemos tantos que hemos metido un software incorrecto. Abrimos el programa spflashtool, cargamos nuestro scatter file y seleccionamos solo las secciones que queremos cargar a nuestro movil. Pulsamos sobre “download” y el programa queda a la espera. Ahora con el telefono apagado y sin bateria lo conectamos con el cable usb al ordenador. Conectamos la bateria al telefono y automaticamente el programa spflashtool debe detectar el movil y se pone a escribir. Puede tardar unos 15 sg para detectar bien el movil, depende de lo que tarde windows eninstalarlo asi que paciencia. La descarga dura mucho menos tiempo que la lectura. Veremos que hay una barra que cambia de color dos veces, si termina bien nos mostrara un circulo verde. Quitamos cable y la bateria unos 5 sg . La ponemos de nuevo y a probar.
Si la rom metida es de nuestro movil arrancara sin problemas. Si apreciamos que se oye y no se ve o viceversa o ninguna de las dos cosas es que el software metido no es de nuestro movil. Asi que toca bajarse nuevo software y probar de nuevo. Por este motivo digo de tener la bateria 100%, porque si nos equivocamos necesitaremos tirar de bateria para ir probando, ya que posiblemente no nos carga bateria tampoco.
http://bm-smartphone-reviews.blogspot.com.es/2012/05/mt6575-flashing-tutorial.html

3c. Meter secciones de una rom con comando dd
Aquí si que es sencillo. Tomemos como ejemplo el logo.bin del post anterior. El comando seria:
dd if=/mnt/sdcard/logo.bin of=/dev/logo (copiamos de la sdcard al /dev del tlf)
dd If=/mnt/sdcard2/recovery.img of=/dev/recovery (copiamos de la sdcard2 al /dev del tlf)
En /dev tenemos todas las secciones, mirar el nombre y ya esta. Ojo, son ficheros ocultos. Una vez copiados se reinicia.
En mi web inicial estos post son mas extendidos, de manera que explico para manejar el uso de la consola: ADB, comandos linux basicos, etc y sobre todo COMO COPIAR DE NUEVO CUALQUIER FICHERO POR CONSOLA DESDE EL PC, en caso de que nos muestre errores continuos el terminal. Eso si: si habeis borrado algo tener buena memoria de lo borrado a ser posible y asi poder recuperarlo rapido.
 
4. Enlaces para descarga de firmware ,software y enlaces de interesà Os hara falta el uso de google traductor en algunas paginas. Os explicare el uso: debeis abrir dos pestañas, en una entrais en la direccion original y en la otra abrir google. Poneis en la barra de busqueda de google la direccion web de la otra pestaña (la que queremos traducir) y le damos a buscar. Una vez encontrada (obvio) pulsamos sobre “mas>traductor”. Ya tenemos la original y la traduccion, ahora viene la soltura de cada uno: debeis guiaros por las dos paginas para navegar. Tener en cuenta que habra enlaces y pestañas que en el traductor no funcionan, en este caso os toca abrir otra pestaña y trabajar igual o copiar el texto y traducir el texto.
Huachen Technology Ltd

Forum.China-iPhone.Ru
Enlace roto eliminado
Chinamobiles.org
Talking Mobi With You - Android mobile Android tablets PC News
Needrom
Mi Movil Chino
http://4pda.ru
http://forum.xda-developers.com
http://www.androidiani.com/forum/
http://mtk2000.ucoz.ru/
5. Otros puntos de interes : EN LINUX ES IMPORTANTISIMO LOS PERMISOS DE LAS CARPETAS Y FICHEROS: NO SOLO ES SUFICIENTE CON COPIAR LOS FICHEROS, HAY QUE DARLES LOS PERMISOS. Estar bien atentos a esta nota, pues muchos “no funciona” son derivados de los permisos. He mencionado el uso de Root Explorer (interfaz vasta pero super potente). Hay otros muy buenos, como solid explorer. Pero el que me gusta y es freeware: fx explorer, con su plugin root y websharing. Este explorador, de entre sus funciones, las que mas me gustan son dos: es multiventana (podemos abrir las ue queramos) y cuando copiamos ficheros, el programa automaticamente nos cambia los permisos de los copiados y los pone iguales que los permisos que tienen los ficheros de la carpeta destino. Esto es un lujo, aunque si te acostumbras a ello, te ocurrira que si usas otro explorer se te pase a veces lo de los permisos.
Antes de empezar debeis hacer copia de todo lo que pensais modificar o eliminar. Lo normal es hacer copia de vuestras aplicaciones, que normalmente es lo que se empieza a tocar.


5a. Añadir/eliminar app de sistema MANUALMENTE à En android tenemos tres carpetas donde almacenan las aplicaciones: /system/app, /system/vendor/app y /system/vendor/operator/app. Esto siginifica que cualquier aplicación que se copie en uno de estos directorios, cuando inicie android la instala automaticamente. De igual manera si la eliminamos de aquí se desistala.
¿Y para que quiero copiarlas aquí? Pues hay 2 motivos:
1. Si hacemos un factory reset la aplicacion no se elimina, se eliminan los datos descargados, actualizaciones y configuracion, pero en el inicio de android se vuelve a instalar de nuevo. En un factory reset se borra /data, /cache y android.secure (permisos).
2. Cuando instalamos una aplicación, si se descarga por play store, el instalador se copia en /data/app y luego se instala en /data. Ocupa espacio de mas en data. Si el instalador de la aplicación esta en un directorio de sistema ya no ocupa espacio en /data, solo su instalacion. Esto ya no es problema en los nuevos moviles con android 4, pues las tarjetas de memoria ya tienen un tamaño considerable y hay una opcion en configuracion de decirle a android donde queremos que nos instale la aplicación: en el tlf o sdcard. Pero en tlf con android 2.x la cosa es diferente: a peor.
Tener en cuenta que con cada actualizacion de programa se descarga un instalador nuevo. ¿de donde saco los instaladores que me gustan? O descargas de internet, o si esta instalado en tu tlf, lo tienes en /data/app o en /mnt/sec.
Google talk………… 4shared - partage et stockage gratuits de fichiers
¿De donde saco las aplicaciones?
1.) De internet: un buen buscador es PIPCU Domain Suspension
2.) De mi movil si ya las tengo instaladas: buscar en /data/app y en /mnt/asec
5b. eliminar app de sistema con mtkdroidtools : Podemos eliminarla a mano con un explorador de archivos o automatico con mtkdroidtools. Si os habeis dado cuenta en el programa mtkdroidtools hay un botón que dice “Delete china”. Si lo pulsamos nos sale en el visor del programa que borra unas app de los directorios indicados en el fichero “files_for_delete.txt”. Esta ubicado en el directorio de mtkdroidtools. Lo edito con el bloc de notas y veo el contenido. Si os dais cuenta borrais /system/media/bootaudio.mp3 y /system/media/shutaudio.mp3, los audios de inicio y apagado. Eliminarlos de la lista.

La mayoria de los problemas que tendreis los salseros es que borreis algo que necesita el sistema: normalmente aplicaciones. A partir de aquí comenzareis a ver errores y errores. La solucion es bien facil: reponer lo borrado, no es necesario meter el sistema entero de nuevo. Para ello si el sistema operativo android arranca en modo grafico podemos copiarlo directamente a su ubicación original y si no hay que hacerlo en modo comando (modo texto) con ADB.


5c. Sustituir aplicaciones de sistema : A muchos nos gusta eliminar las apliaciones que no nos gustan o simplemente queremos sustituirlas por otra de igual funcion pero con mas caracteristicas. Pues la idea es bien sencilla: hay que diferenciar entre aplicaciones delicadas y por las prescindibles.
Unas delicadas: explorador de archivos, launcher (escritorio), teclado……esto significa que es obligatorio primero instalar una aplicación similar antes de borrar la que tenemos instalada. Esto es obvio: si borramaso primero ya no tenemos esa funcion en android. Tocaria recuperarla de nuevo, en modo normalmente (os lo digo por experiencia). Descargarse nova launcher, instalarlo y despues borrais vuestro launcher por defecto.
Referente a las otras prescindibles: galeria, reloj……podemos eliminarlas primero, pero no supone ningun problema pues podemos copiar despues otra similar.
Mi recomendación: hay aplicaciones mucho mejores que las que vienen de fabrica: reproductor mx player, alarmas….pero la pega de ellas es que estan continuamente actualizandose, y si son freeware: publicidad. No se que pasa en android que la frecuencia de actualizaciones es….un coñazo. Asi que si os apañais con las originales, quedarse con ellas.
NOTA IMPORTANTE: una gran confusion corre por todos sitios que tratan MTK65xx. Algunos habeis borrado app de sistema y os funciona mal el telefono. Andais buscando urgentemente vuestra ROM. Si os habeis leido bien hasta aquí con claridad: no es necesario tene vuestra rom, solo buscar una version de rom igual a la vuestra y reponer las aplicaciones. La diferencia entre unas roms y otras es que los drivers incorporados son diferentes, pero LAS APK DE SISTEMA SON LAS MISMAS (PROBADO). De hecho, ¿Cómo puede ser que que le metais una rom de oto movil y solo funcione el audio, se vea blanco, etc? Por esa razon. A probar se ha dicho. PERO SI ES IGUAL QUE WINDOWS, CUANDO NOS FALLA UN FICHERO DE SISTEMA COGEMOS CUALQUIER COPIA DE LA ROM (SISTEMA OPERATIVO) Y LO RECUPERAMOS.
 
Última edición por un moderador:
5d. leer el contenido de system.img : Este punto es exclusivo de las copias Samsung. Imaginaos que borrais algo y debemos volver a meterlo para que el telefono deje de dar errores, o simplemente queremos ver el contenido de una imagen img de linux. Si no habeis hecho copia de lo borrado os toca bajarse una rom de vuestro modelo de terminal y extraerlo para meterlo. Si habeis hecho copia con spflastool, mtkdroidtool, gscript… lo que necesitamos es volver a descomprimirlo para meterlo al tlf. Lo mas normal es que hallamos borrado/modificado algo de system.
Lo primero es un software para montar imágenes con formato linux (ext3, ext4 basicamente). Yo utilizo Linux_Reader y es freeware, pero he subido dos mas (aunque tengamos extension img nos dara error al abrirlo con winrar o similar). Asi que lo primero es montar la imagen con linux reader, si tenemos acceso podemos extraer el contenido.
En caso de montar pero no tenemos acceso, significa que aun esta la imagen “codificada” con el formato de samsung. Para ello ejecutamos sgs2toext4.jar (debeis tener instalado java) y se abre una ventana en primer plano (a la espera). Ahora arrastramos nuestro fichero system.img a la ventana. En este momento, se creara un fichero con el mismo nombre mas el añadido de ext4 en el mismo directorio del fichero arrastrado. Ya lo tenemos decodificado. Ahora retrocedemos al paso anterior para montar con Linux_Reader y ya podemos extraer el contenido.
Una pqueña nota: cuando arrastramos hacia sg2toext4.jar y empieza el descifrado, si vemos que nos sale el numero cero es que no es necesario este paso. Podemos ir a linux_reder directos.
Recordar desmontar la imagen antes de cerrar el programa. Si quereis ahorraros los pasos copiar antes los directorios que vayais a modificar o si os cuesta menos los ficheros que pensais modificar o eliminar. http://www.4shared.com/rar/CDCnxOjr/leer_contenido_system-ext4img_.html


5e. Cambiar el logo de inicio y logo_bin con logobuilder 1.3
Aquí sonidos para el movil: http://www.4shared.com/zip/L51-6rCP/Audio.html
Aquí animaciones para resolucion 480x840: http://www.4shared.com/rar/m3x5sI8Y/bootanimation_f9300.html
Aqui logobuilder 1.3: http://www.4shared.com/zip/sEasq87r/LogoBuilder_v13.html
Arrancamos el teléfono: se muestra logo.bin, tras esto boot_logo (/System/media/images/boot_logo) y por ultimo la animación de inicio junto con su audio de inicio (/System/media/bootanimation.zip y / System/media/bootaudio.mp3). Al apagar el teléfono se muestra la animación de apagado junto con su audio de apagado ((/System/media/shutanimation.zip y / System/media/shutaudio.mp3). Si os pasa que se os muestra dos imagenes diferentes en el inicio antes de la animacion, la primera logo.bin y la segunda boot_logo (yo siempre borro la segunda).
Para cambiar el sonido solo teneis que sobreescribir los archivos de audio, lee perfectamente los mp3. Sin embargo debeis tener cuidado de no pasaros en su duracion: yo aconsejo no mas de 7sg (es probarlo).
Para cambiar la animacion de inicio/apagado y boot_logo usamos logobuilder 1.3. Las condiciones son dos: la resolucion de pantalla debe ser ajustada a la de nuestro tlf y duracion de la imagen no muy larga. No sabria deciros cuanta, pero como podemos hacerla ciclica no hay pegas.
Descargamos el software y nos agenciamos un logo.bin de nuestro móvil. Descomprimo en un directorio y creo un subdirectorio dentro llamado ejemplo (por poner un nombre cualquiera) y copio ahí nuestro logo.bin. Ejecuto el programa, nuevo proyecto y eligo mi logo.bin. Yo eligo el mismo subdirectorio “ejemplo” para el proyecto.
Y ahora nos pide el tamaño, el mensaje es bien claro: “BUFFER=ANCHO*ALTO*2”. En mi caso el buffer es 819840, divido entre 2= 409920. Es decir el multiplicar el ancho * alto de nuestra imagen debe dar ese resultado: 480*854. Para conocerla buscar en internet las características de vuestro móvil o irse a los bootanimations y abrir el archivo “desc.txt”. Lo ponemos y comienza a desempaquetar las imágenes al directorio “ejemplo”. No cierro logobuilder.

Por probar, abro con paint la primera imagen, “seleccionar todo”, “invertir selección” (o invertir colores). Inicialmente fondo negro y letras blancas, ahora fondo blanco y letras negras. Guardo y cierro paint. Vuelvo a logobuilder y le doy a crear. Ahora me ha creado un fichero “update.zip” para el recovery. Podeis meterlo por recovery o descomprimis el update.zip, extraeis logo.bin y lo meteis con SPFlashtool. Para merterlo con el comando dd: buscar en el comprimido el fichero updater-script, lo editais y vereis la ruta donde lo copia (/dev/logo).
Este ha sido un rápido ejemplo. Podeis extraer las imágenes de los bootanimation (mirar vuestra resolución de fotos) o crearlas/modificarlas con cualquier programa. Si os habéis fijado tienes la opción de crear el boot_logo. Yo no lo utilizo, lo he borrado.
El siguiente paso es modificar los tres tipos de animación:
1. En la de pacman es animación cíclica completa (de toda la animacion).
2. En la GalaxySBIOS4-Edify es cíclicasolo una parte de la animación.
3. En amsun original se ve la animación y cuando termina muestra una imagen fija.

Si descomprimis los zip veréis que algunos tienen una sola carpeta, otros varias y todos un archivo de texto: desc.txt. Este archivo es la configuración que coge el teléfono para mostrar la animación.
Archivo desc.txt de pacman:
480 854 5 à resolucion de pantalla y frames por segundo: 480 854 5
p 0 0 part0 à busca en carpeta part0 y repite ciclico (repite todo) sin pausa

Archivo desc.txt de GalaxyBIOS4-Edify:
480 854 5 à resolucion de pantalla y frames por segundo: 480 854 5
p 1 0 part0 à busca en carpeta part0 y repite 1 vez solo sin pausa
p 0 0 part1 à busca en carpeta part1 y es ciclico (repite solo las imágenes de part1)
Archivo desc.txt de samsung original:
480 854 5 à resolucion de pantalla y frames por segundo: 480 854 5
p 1 0 part0 à busca en carpeta part0 y repite 1 vez solo sin pausa
p 2 8 part1 à busca en carpeta part1 y repite 2 veces con pausa de 8 frames.
p 0 0 end à busca en carpeta end y repite es ciclico (pero solo tiene una foto: es imagen fija)

LA VELOCIDAD LA MODIFICAMOS CAMBIANDO EL NUMERO DE FRAMES (en este caso son 5). UNA VEZ MODIFICADOS EMPAQUETAMOS EN ZIP SIN COMPRESION.

6- CYGWIN Y ANDROID KITCHEN : Cygwin es un emulador de Linux: nos permite ejecutar comandos de Linux en windows, para los que queramos empezar un poco con este sistema operativo. Es decir nos crea un mini entorno linux, el cual nos servira para poder trabajar con los ficheros de android. Y android kitchen es una serie de utilidades para trabajar con las imágenes de los telefonos chinos (deodexar, desempaquetar….).

Si lo que queremos es modificar nuestras aplicaciones o la apariencia de nuestra rom tenemos dos opciones:1) instalar aplicaciones que lo hagan o 2) deodexar la rom, y ya poderemos ver y modificar el contenido de las odex.
Se explica como instalar cygwin y android kitchen, y explicaremos una parte se sus funciones: pero tienen muchas mas.


6a . Instalacion : descargar el ejecutable de instalación de http://www.cygwin.com/ y lo ejecutáis. Si ya teneis instalado un cygwin debéis desistalarlo completamente. Una vez desistalado borráis la carpeta donde estaba instalado. Ahora ejecutáis de nuevo la instalación y seleccionais “ descargar sin instalación”. Dejais la opción por Default y añadis los paquetes necesarios para que funcione android kitchen:

* Devel / gcc
* Interpreters / perl
* Utils / cpio
* Utils / util-linux
* Utils / ncurses
* Archive / zip
* Archive / unzip
* Web / wget

(en caso de que haya mas de un paquete con ese nombre los añadis también) y comenzáis. La carpeta de instalación y de descarga la debe crear el programa de nuevo, y asi os asegurais que es instalación limpia. Una vez descargado ejecutais de nuevo e instalais offline. Una vez instaladoos descargáis la ultima versión de android kitchen de http://forum.xda-developers.com/showthread.php?t=633246 y la ultima versión de unpack/repack de Bruno martins de https://github.com/bgcngm/mtk-tools . Descomprimis Android kitchen y lo copiáis en un directorio nuevo llamado ak dentro de cygwin. Descomprimis mtktools de Bruno Martins y lo copiáis en un directorio nuevo llamado “bm” dentro de cygwin. De esta manera ya podemos empaquetar/desempaquetar boot.img y recovery.img desde cygwin.


Ahora creais una carpeta nueva llamada “mt65xx” dentro del directorio ak\tools, copiáis todos los ficheros de bm y los pegais en mt65xx. Ahora android kitchen ya podra identificar, empaquetar y desempaquetar imágenes img de cpu mt65xx. Para añadir plugins a android kitchen, directamente copiais los ficheros al directorio ak\scripts\plugins.
Si tenemos creado un recovery online (es decir, directamente lo ha empaquetado CWM en su servidor) necesitamos otro fichero que lo desempaqueta, llamado” unpack-bootimg.pl”. Yo lo copio en una carpeta nueva llamada cygwin\bt.


Aquí cygwin con fecha del dia de actualizacion, por lo que podeis ahorraros los pasos anteriores: http://www.4shared.com/rar/BY8a1Rml/cygwin_actua_17_02_2013.html Las carpetas de ficheros mencionadas antes ya estan incluidas, solo debeis copiarlas al directorio de instalacion de cygwin.
 
6b. Crear recovery ClockWorkMod con CYGWIN: Me fastidia postear algo sin estar totalmente acabado, pero aquí hay que saber mucho del tema. De todas maneras este es el proceso de desempaquetar/empaquetar boot y recovery. Sin embargo en la segunda parte os pondre un truco para ir teniendo el ultimo recovery.
Los tlfs tiene dos modos de arranque: boot (inicio normal) y recovery (modo recuperacion: algo asi como modo a prueba de fallos de windows, inicio alternativo). Para acceder al modo recovery pulsamos a la vez los botones de volumen + y power. Una vez enciende seleccionamos recovery y aceptamos (el modo fastboot es para calibrar los sensores y hacer test al telefono. En los tlf originales de Samsung tienen otra funcion).
Con el recovery que viene original podemos hacer poca cosa: copiar carpeta /data…..y ya esta. Para acciones adicionales avanzadas hay que meter otro recovery: yo utilizo el ClockWordMod. Con este, entre otras cosas, podemos hacer copia de seguridad de las particiones /system, /data, /cache y android secure (le llama nandroid). Y por supuesto podemos recuperarla. El recovery es en realidad arrancar en modo texto.


PRIMERA PARTE: CREANDOLO OFFLINE.
Y ahora trato un tema que interesa mucho: crear nuestro propio recovery. La guía seguida para ello es el enlace http://chinagizmos.blogspot.in/2012/...ones.html.html aunque hay una pequeña modificación de procedimiento que explicare en este post. los programas necesarios figuran en el enlace, aunque ya lo explique en el punto 6. Leer todo el post antes de hacer el vuestro.
Descargarse el

1. [FONT=&quot]Copiamos el recovery.img extraido de nuestro tlf (con mtkdroidtools o gscript) al directorio “c:\cygwin\bm”.[/FONT]
2. [FONT=&quot]Ejecutamos el acceso directo del escritorio de cygwin ( si no lo teneis ejecutáis c:\cygwin\[/FONT] [FONT=&quot]Cygwin.bat).[/FONT]
3. Escribimos “ [FONT=&quot]cd c:/cygwin/bm “ y enter ( ahora estamos en directorio bm. Observar en windows es \ y linux es / ).[/FONT]
4. [FONT=&quot]Desempaquetamos el contenido del recovery. Para ello escribimos “./unpack-mt65xx.pl recovery.img “. Si todo ha ido bien, en el directorio c:\cygwin\bm se nos ha descompimido el contenido del recovery. [/FONT]

[FONT=&quot]Una nota: Si queremos ahorrar escribir a mano, podemos seleccionar los comandos con el raton, les damos a copiar y en la ventana de msdos, pinchamos en la esquina superio izq, y vamos al menú EDITAR>PEGAR. Y una vez ejecutado los comandos en la ventana dos, no hace falta escribirlos de nuevo, simplemente con pulsar flecha arriba o flecha abajo podemos buscar todos los comandos ejecutados en esa ventana (antiguo comando DOSKEY de ms-dos).[/FONT]

5. Ahora copiamos el fichero “ c:\cygwin\bm\recovery.img-ramdisk\etc\recovery.fstab “ a “c:\cygwin”. Si leeis hasta el final la guía, os daréis cuenta que este fichero es la tabla de particiones de nuestro móvil. Borramos el directorio “c:\cygwin\bm\ recovery.img-ramdisk “ y “c:\cygwin\bm\recovery.img”.

6. Ahora nos pide que descarguemos los ficheros del nuevo recovery CWM 6 para combinar con el kernel original de nuestro recovery extraido con mtkdroidtools o gscript. http://www.4shared.com/archive/YoVm16t7/6003-cwm-recoveryimg-ramdisk.html (teneis mas versiones de kernel)
Yo he probado probado primero el “6003-cwm-recovery.img-ramdisk.7z “. Se descomprime y se copia el directorio “recovery.img-ramdisk” a “c:\cygwin\bm “, y copiamos “c:\cygwin\ recovery.fstab” al directorio “ c:\cygwin\bm\ recovery.img-ramdisk \etc”. De esta manera cuando arranquemos en modo recovery nos reconoce nuestras particiones.

7. Ahora empaquetamos todo en un nuevo recovery.img ejecutando “[FONT=&quot]./repack-mt65xx.pl -recovery ./recovery.img-kernel.img ./recovery.img-ramdisk ./recovery.img “.[/FONT]
[FONT=&quot] [/FONT]
8. [FONT=&quot]Ya se nos ha creado el nuevo fichero recovery.img con CWM 6.0.03. Nos creamos una nueva carpeta donde queráis, copiamos el recovery.img y nuestro scatter file y lo metemos con sp flashtool, o lo meteis con el comando dd. Arrancamos el tlf y lo ponemos en fecha y hora. Apagamos y arrancamos en recovery y probamos.
[/FONT]
Según dice la guía, el botón de confirmar ( entrar en el menú) del CWM 5 es el botón de power, mientras que en CWM 6 es el botón de cámara. Entro en recovery pero cuando le doy a hacer backup no veo que haga nada el móvil: ni se ven copiar ficheros ni aparece el muñeco de android animado. Sin embargo si me hacreado el directorio de backup con su fecha y hora, pero el contenido no es valido. En otras palabras: no me funciona el recovery creado, esto es debido a que los tlfs chinos son copia y por supuesto el recovery es copia de otro tlf, con lo cual no tiene porque funcionar.



SEGUNDA PARTE: OFFLINE, EXTRAER RECOVERY DE OTRO TERMINAL SIMILAR PARA NUESTRO TLF

Se me ocurre otra idea. El F9300 tiene un hermano: el GT-N9300+. Aunque no tiene el botón de volumen en el lado izq, si tiene las mismas entradas de botones que el nuestro. Encuentro el CWM 6015 para el hermanito. ( buscar Feiteng GT-N9300+ CWM 6.0.15 en google) tenemos su descarga en http://www.4shared.com/zip/w9-OdnDH/..._CWM_6015.html . Lo descargo y verifico su tabla de particiones: es la misma que la mia ( y si no es la misma es igual, me interesan los demas archivos no las particiones. Como es idem, mejor que mejor) Solo me falta probarlo. Reempaqueto con mi kernel y…… TODO OK. ESTO PIRULA BIEN.
EL TRUCO: el telefono a buscar debe tener las misma entradas (el mismo numero de botones: power, volumen up, volumen down, retroceso, menu y home) que nuestro terminal. Lo unico es probarlo: empaquetar con nuestro kernel.
El CWM 6 ha cambiado su forma de hacer los backups. Crea un directorio con la fecha ( poco espacio) y otro llamado “ blobs” (el grueso de la copia). Tras buscar info por ahí, he leído que hace copias incrementales. Prefiero la version 5.5 que es la que tengo en mi tlf, ya que me hace copia de todo completa.
Referente al cwm 6028 lo encontre del móvil NEWMAN N1. Si editáis los ficheros de la carpeta “recovery.img-ramdisk “ podeis comprobar por el archivo “default.prop “ que el software pertenece a otro modelo de móvil ( es una copia). Por la elección de este y los otros archivos, alguna veces funciona algo y otras no cuando hacemos un recovery online. Si quereis probar copiar el recovery de otro movil, buscad que sea parecido al vuestro, en mi caso mtk6577 dual Core.


TERCERA PARTE: ONLINE

[FONT=&quot]La pagina web del creador de CWM es [/FONT][FONT=&quot]https://plus.google.com/103583939320326217147/posts[/FONT][FONT=&quot] y en l pestaña “sobre mi” aparece un enlace para crear un CWM online, eso si siempre ultima versión ( no hay opción a elegir): [/FONT][FONT=&quot]http://builder.clockworkmod.com/[/FONT][FONT=&quot] . Entramos en este ultimo enlace.

En la primera opción añadimos nuestro recovery. En la siguiente,opción de añadir nuestro fichero “recovery.fstab”. Yo lo he añadido. Ahora le damos a BUILT. Cuando la petición es aceptada nos aparece otra pagina con el numero de petición (este numero es por si queremos descargar el recovery en otro momento). Pulsamos sobre “ Continue to the built server” y vemos el proceso de compilación de nuestro recovery. Cuando halla terminado pulsaremos sobre “recovery.img” y ya tendremos el supuesto CWM para nuestro terminal.

Quiero ver si me ha respetado la tabla que le he subido, para poder descomprimir el recovery hecho online hay que descargar el fichero de [/FONT][FONT=&quot]http://www.mediafire.com/?ke9zz09wgk72fuw[/FONT][FONT=&quot] (ver el manual de la web que puse en la primera parte) . Creamos la carpeta “c:\cygwin\bt “ y copiamos el archivo descomprimido “unpack-bootimg.pl “. Copiamos a esta carpeta el recovery.img creado online y lo descomprimo ejecutando “./unpack-bootimg.pl recovery.img”. compruebo que no es mi tabla de particiones, la sobreescribo por la mia. Sigo con las instrucciones de sobreescribir carpetas y lo pruebo: no funciona.
Decido copiar todo el directorio " [/FONT]recovery.img-ramdisk" extraido, eso si con mi tabla, [FONT=&quot]reempaqueto con mi kernel original. Lo meto y me arranca bien el CWM 6028, me respeta todos los botones, se ve muy bonito pero….no funciona al ejecutar el comando. Algo mas hay de configuración o sobreescribir ficheros entre los recoverys buenos. No se lo que es. [/FONT]
[FONT=&quot]Si habeis leido todo sobre el recovery, habreis deducido que si el movil no es original solo tenemos dos opciones: 1.) saber mucho del tema y modificarlo tu mismo. 2.) descargar nuevos recoverys.img-ramdisk o nuevos recoverys de tlfs y probarlos. SUERTE.

[/FONT]

[FONT=&quot]6c . Manual CWM[/FONT][FONT=&quot] : Pulsamos a la vez power + volumen +. Seleccionamos recovery y ENTER. Una vez dentro del recovery nos sale:[/FONT]
[FONT=&quot]-reboot system now ----------reiniciar sistema[/FONT]
[FONT=&quot]-install zip from sdcard -------instalar fichero zip de la sdcard. Con un fichero zip podemos instalar cualquier cosa: actualizar o instalar un programa, seccion de android o copiar ficheros (es lo mismo todo).[/FONT]
[FONT=&quot]-install zip from sdcard\choose zip from sdcard -------- nos permite elegir un fichero zip ubicado en la sdcard con cualquier nombre a instalar[/FONT]
[FONT=&quot]-install zip from sdcard\apply /sdcard/update.zip------- nos permite elegir un fichero zip ubicado en la sdcard con con nombre update.zip para instalar una actualizacion[/FONT]
[FONT=&quot]-install zip from sdcard\ toogle signature verification ------ Activa o desactiva la verificación de firmas.Cuando la verificación de firmas está activa no podras instalar cualquier zip que no haya sido firmados .Desactivarla evita la comprobación de verificación de firmas y prosigue con la instalación[/FONT]
[FONT=&quot]-install zip from sdcard\toggle script asserts ------- permite activar y desactivar scripts. (aun no lo he usado)[/FONT]
[FONT=&quot]-install zip from sdcard\choose zip from internal sdcard ------ instalar fichero zip de la internal sdcard (memoria del tlf).[/FONT]
[FONT=&quot]-Wipe data/Factory reset[/FONT][FONT=&quot]------- elimina todos los datos que se tengan en el terminal, nos referimos a los del usuario: borra /data, /cache y android.secure. Por lo tanto, deja el teléfono o tablet como al sacarlo de la caja. También se borran las particiones SD-ext.[/FONT]
[FONT=&quot]- backup and restore ---- [/FONT][FONT=&quot]permite realizar copias de seguridad y restauralas.[/FONT]
[FONT=&quot]- backup and restore\backup-------[/FONT][FONT=&quot] realiza un backup en la sdcard. Copia boot, recovery, android.secure, data, cache y system. En CWM 5 hace copia completa en cada backup y a partir de la CWM 6 es incremental. Lo copia en el directorio /mnt/sdcard/clockwormod/backup[/FONT]
[FONT=&quot]- backup and restore\restore---- [/FONT][FONT=&quot]restaura un copia de seguridad de la sdcard.[/FONT]
[FONT=&quot]-backup and restore\advanced restore---- [/FONT][FONT=&quot]permite restaurar una seccion concreta de un backup de la sdcard.[/FONT]
[FONT=&quot]- backup and restore\restore from internal sdcard---- [/FONT][FONT=&quot]restaura un backup de la memoria del tlf.[/FONT]
[FONT=&quot]-backup and restore\advanced restore from internal sdcard---- [/FONT][FONT=&quot]permite restaurar una seccion concreta de un backup de la memoria interna del telefono.[/FONT]
[FONT=&quot]- mounts and storage ---- [/FONT][FONT=&quot]permite realizar y gestionar tareas de mantenimiento de las particiones del terminal: en concreto son montar, desmontar y formatear particiones.[/FONT]
[FONT=&quot]- advanced ---- [/FONT][FONT=&quot]contiene las opciones adicionales del ClockworkModque son variadas y también poco utilizadas. Wipe Dalvik cache, borra la caché;[/FONT] [FONT=&quot]Wipe Battery Stats, borra el fichero battery-stats para recalibrar la bateria.(para realizar esto recomiendo bajarse un programa adicional que os lo haga), Report Error,[/FONT] guardar un registro de las recientes operaciones de la recovery ClockworkMod en sdcard. [FONT=&quot] Key test, hace una comprobación de las teclas hardware del dispositivo. Partition SD card, permite crear particiones en la tarjeta SD para uso de sistema. Esta es la particion /sd-ext; , Fix permissions: Corrige los permisos de archivo para las particiones de memoria interna por defecto.Esto opcion es muy útil como una solución para varios errores de Fuerza de Cierre de programas, que comienzan a aparecer después de que una aplicación es instalada. Lo que hace en realidad es poner los permisos necesarios para que la aplicación instalada pueda acceder a sus propios datos del directorio donde se instalo. [/FONT][FONT=&quot]https://www.movilesdualsim.com/tema/Backup-firmware-SMARPHONE-F9300-mtk6577.22396/page16[/FONT][FONT=&quot]

[/FONT]

Pues aqui llega la explicacion de porque se hacen wipes (borrado). Al igual que windows o cualquier otro SO, el borrado es para que las apliciones se instalen sin restos de una version anterior, y especialmente PID correcto. Es decir, la aplicacion nueva a instalar crea su directorio de trabajo con su PID, de esta manera puede acceder a todos los datos, pues ella es la propietaria. Simplemente esto.

[FONT=&quot][/FONT]
[FONT=&quot]NOTA IMPORTATE: una vez instalado el CWM, si queremos hacer un factory reset debemos hacerlo desde el propio recovery. Si lo hacemos desde el tlf posiblemente no funcionara porque entra en un bucle con el recovery cwm.[/FONT]
[FONT=&quot]Este recovery esta muy bien, solo le hecho en falta una opcion a añadir: poder abrir una shell. Lo unico encontrado es Aroma Filemanager, un explorador que se abre en recovery. Para ello arrancar en recovery, os descargais el programa y le dais a install zip. http://forum.xda-developers.com/showthread.php?t=1646108 [/FONT]
 
Última edición por un moderador:
6d. Deodexar la rom con Android Kitchen :

ODEX
En Android, todas las aplicaciones vienen empaquetadas en archivos con extension APK. Junto con las aplicaciones de sistema o que vienen "de serie" en el firmware del fabricante (system/app/), se puede encontrar un archivo de extension ODEX con el mismo nombre que el APK cuya funcion es la de ahorrar espacio. Estos archivos .odex son colecciones de partes de la aplicacion correspondiente, que estan optimizadas ANTES de arrancar. Lo que se consigue con esto es que se arranque el sistema mas rapido ya que con este sistema se hace una precarga de parte del codigo de la aplicacion.

Es por esto que las aplicaciones de sistema o preinstaladas sean dificiles de modificar, ya que parte del codigo de la aplicacion ya está escrito en dicho archivo .odex, Llamo modificacion a editar codigo para añadir o quitar funcionalidades a la aplicacion o, simplemente, cambiar el aspecto de las aplicaciones editando la parte visual (frameworks y demas... iconos, logos, fondos, etc etc)

DEODEX
El proceso de deodexizado consiste, simplemente, en reempaquetar todos los contenidos y componentes de la aplicacion en el APK correspondiente mediante el recompilado del classes.dex, que es el fichero contenido en el APK que contiene las clases de Java que se han usado en el codigo de la aplicacion. Hecho esto, lo que se consigue es tener todo en el mismo sitio y permite que se ejecute toda la aplicacion desde el paquete APK, por así decirlo, sin que haya interacciones desde fuentes externas como son los archivos .odex

Partimos de la base de que Android utiliza para ejecutar todo, una maquina virtual basada en Java que se llama Dalvik Virtual Machine. Bien, en el caso de aplicaciones deodexizadas, el fichero .dex que hay dentro del APK, es el que contiene la caché (codigo basé) de la aplicacion y que es utilizado por la DALVIK. En el caso de las aplicaciones ODEXIZADAS, la DALVIK utiliza el archivo .odex, que es la version mejorada y optimizada del archivo .dex. Requisito de este método es que el archivo .odex debe de estar en el mismo directorio que el APK y llamarse igual. Éste último, es el método usado por Android por defecto.

Cuando Android arranca, la caché de la maquina virtual DALVIK se llena con los archivos .odex, lo que permite a Android saber con antelación qué aplicaciones se cargaran y, como ya hemos comentado que el .odex es parte del código de la aplicación optimizado, se cargará todo mas rapidamente. DEODEXIZANDO los APK, como ya hemos comentado antes, permite tener TODO el codigo de la aplicacion en un mismo sitio, sin entrar en conflicto con el entorno de ejecución de ANDROID.

Extraido de http://www.htcmania.com/showthread.php?t=150816




Bien, dado que hablamos de Android hay que conocer un poco cual es el modelo de programación que existe, y a la par que es potente es simple. Ya he dicho que Android usa un sistema de programación JAVA (que no significa que el código generado para Android pueda ejecutarse por una VM JAVA). Básicamente, todo el código compilado para Android se empaqueta en un archivo apk (que no es más que un archivo zip) que contiene por un lado los recursos de la aplicación (imágenes, sonidos, archivos binarios…), por otro lado lo que podría verse como la interfaz de dicha aplicación, la firma y certificado de la aplicación y por último las librerías y el código principal de la misma, generalmente en formato DEX. DEX es por así decirlo el código compilado puro y duro de Android, la compilación para la máquina virtual Dalvik, digamos por así decirlo que es el “ejecutable” de las aplicaciones. Las firmwares de algunos fabricantes usan un sistema híbrido que permiten a las aplicaciones por así decirlo compartir código y otras cuestiones y se las conoce como ODEX. En la práctica lo que supone es que cada aplicación apk posee externa a ella otro archivo que la acompaña en formato ODEX, que contendrá tanto el propio código que contenía el archivo DEX como el código necesario para enlazar a esta el código que no se encuentra ni en el apk ni en el propio archivo ODEX, por ejemplo código compartido por muchas aplicaciones y que se reutiliza (lo que serían algo así como librerías dinámicas).

Es importante conocer si estamos ante el escenario DEX o el escenario ODEX, puesto que es diferente. Si estamos ante una aplicación DEX, tan solo tendríamos que realizar una decompilación, modificación, compilación firma y alineamiento. Pero en el caso de una aplicación ODEX antes de descompilar tendríamos que asegurarnos que podemos suministrar al decompilador la ubicación de esas “librerías externas” que requiere dicha aplicación, para que así al modificarlo y volver a compilarlo tengamos como resultado una sola aplicación DEX completamente independiente de otras librerías (por eso es necesario tener las librerías de “apoyo” de esta aplicación, código que será incluido en el propio DEX cuando compilemos de nuevo, y así poder prescindir del archivo ODEX e incluir el archivo DEX dentro de la aplicació). Al final de la conversión básicamente lo que tendremos será una aplicación DEX.

Vale, ya sabemos como se estructura una aplicación, y parece evidente los procesos de descompilar y volver a compilar (luego vemos como). Pero hay dos procesos que hay que realizar de igual forma, el firmado y el alineamiento. El firmado es
obligatorio el alineamiento opcional (aunque recomendable).Cada uno será explicado a la par que vamos a usarlos. Empecemos, para no aburrir, con lo que tenemos entre manos
Extraido de http://www.todomovillg.es/elforodehomero/index.php?topic=284.0




Al lio. Para comenzar debemos tener una copia de la rom en nuestro disco duro. Ahora copiamos boot.img y system.img a “c\cygwin\ak\original_update“. Ejecutamos el programa de cygwin, entramos en “c:/cygwin/ak” y ejecutar “./menú”. Ejecutamnos el programa de cygwin, entramos en “c:/cygwin/ak” y ejecutar “./menú”. Seleccionamos la opción 1, otra vez la 1 (ya ha encontrado system y boot) y Enter. Nos ha creado un directorio en “c:/cygwin/ak” (comienza por working) donde nos copia el system y boot. Ahora elegimos la opción 2 y se nos abre un programa (llamado ext2explore) el cual puede leer ficheros con sistema de archivos ext3 y ext4. Seleccionamos “File>open image” y abrimos dentro de WORKING la carpeta system y seleccionamos el fichero system.img. Ahora extraemos el contenido dentro de la carpeta “c:/cygwin/ak/working/system”, para ello en el programa “ tools>save”. Ya podemos cerrar el ext2explore. Ahora que hemos terminado de extraer seleccionamos la opción 3 para retornar al menú anterior.


Estamos en el menú principal y seleccionamos 0 para entrar en opciones avanzadas. Ahora seleccionamos la opción 11 para deoxdexar los ficheros (recordar que cada apk de system tiene otro fichero de igual nombre con extensión odex). Seleccionamos la opción “ v “ y nos aseguramos de la versión de sistema operativo android que tenemos. En mi terminal API 15, corresponde Android 4.04 (al menos no me ha dado error). Ahora seleccionamos opción ” b “ (deoxdexar ambas ubicaciones: /system/app y /system/framework). Seleccionamos "n" , que no queremos fichero log y enter, a no ser que alguien quiera ver el log. Ahora toca esperar que tiene unas cuantas.

Debe terminar indicando un mensaje en pantalla que “quedan 0 ficheros por deoxdexar en ambas ubicaciones (0 files remain)”. En este momento pulsamos intro y seleccionar opción “ 0 “ para retornar al menú anterior, ahora podemos seleccionar la opción 2, luego la opción “ f “ para root , retrocedemos al menú anterior, seleccionar “ 3 “ para copiar busybox. En mi caso no lo hago pues la imagen ya esta rooteada y me ha sido menos complicado con el otro programa de los otros post.
Una vez deoxdexado, los ficheros apk los podemos abrir como si se trataran de ficheros zip, de hecho los ficheros odex podeis comprobar que han desaparecido de /system/app. Si tenemos nuestro fichero system.img ( de unos cuantos megas) en el directorio “c:/cygwin/ak/working/system”, lo podemos borrar. En la guía pone que ahora podemos retroceder al menú principal y seleccionar la opción “ 10 “, ver el estado de nuestra rom.

OTRO RECOVERY: LEWA TWRP : Descargo el recovery de LEWA (http://www.mediafire.com/?p4nig1lxysfqxo3) . Descomprimo todo. Copio los scripts al directorio “ c:\cygwin\ak\scripts\plugins”. Copio el directorio extraido “ mt65xx “ en “c:\cygwin\ak\tools”. Ahora ejecuto el cygwin, entro en el directorio de ak y ejecuto menú, escribir “ ./menú”. Si seguís los pasos os daréis cuenta que lo llegua a hacerlo, creo que borra antes los ficheros que empaquetar (editar con bloc de notas los ficheros de plugin y lo veréis). Pero si vamos al directorio mt65xx veremos dos comprimidos en 7zip: “twrp4b.7z y twrp3b.7z”. Abrirlos y veréis la famosa carpeta para empaquetar con nuestro kernel. Eso ya sabeis hacerlo. A mi no me ha gustado este recovery. http://chinagizmos.blogspot.in/2012/10/porting-touch-recovery-for-mt65xx-phones.html

Basicamente estamos hablando que el deodexar es para poder modificar cualquier aok. Lo podeis hacer manualmente: http://code.google.com/p/custom-rom-creator-studio/downloads/list descargáis el programa crcstudio (sin el mono) y tools_r1. Descomprimis todo y copiáis el contenido de tools_r1 en una subcarpeta dentro de crcstudio llamada “ tools “. Ejecutáis el programa, creáis un entorno en un directorio cualquiera, y ahora podeis abrir los ficheros apk y ver sus recursos. En nuestro caso abrimos framework-res.apk y SystemUI.apk . No podemos modificar nada, pero podemos ver todas las imágenes, el tamaño que tienen y la ruta del recurso (nombre). Ahora si alguien se quiere entretener, podeis modificar o sustituir las imágenes, eso si RESPETAR EL TAMAÑO y NOMBRE. Mi opinión personal es que parece que hay muchas imágenes que posiblemente no se utilizen nunca. Y tener en cuenta que podeis abrir CUALQUIER APK y ver sus recursos. Otr: editar /etc/theme/thememap.xml con notepad++ comprobareis que nos dice que archivos coge por defecto para todo.
Aquí os dejo un enlace que a mi no ma ha funcionado (siempre por lo mismo: no es tlf original). http://android.scenebeta.com/tutorial/personaliza-como-nunca-tu-android-con-uot-kitchen

6e. Modificar app (apktools, apkmanager) : Enlace de los dos programas http://apkmultitool.com/?q=node/5
Estos programas son un “conjunto de programas” reunidos en una misma interfaz, al igual que android kitchen. La diferencia es que no necesitan de CYGWIN para trabajar.
No he manejado mucho los programas apk manager y apk multi tools, pero si quereis probar os dejo este enlace de ejemplo: http://forum.xda-developers.com/showthread.php?t=1989897 El tema del enlace es Quitar Google ads de cualquier apk: el ads es la publicidad, y es raro tener apk freeware sin publicidad. Y digo que no se si servira porque si la publicidad la baja de internet, y tenemos conexion....volvera a bajarla (creo yo), o simplemente se actualiza el programa y estamos en las mismas. Pero da igual, mientras cacharreamos un poquito. La idea es eliminar un subdirectorio llamado “ads” dentro de otro directorio llamado “smali”.

En este manual usa APK-MULTI TOOLS.

Pasos 1, 2 ,3 --> Copiar la apk deseada a un directorio de nuestro PC. En el manual nos habla en estos 3 pasos como localizarla en nuestro tlf. Ya sabemos hacer esto (en /mnt/asec o /data/app).
Paso 4 --> Descargamos apk-multitool y ejecutamos el setup. Pulsamos opcion 3 (crear directorios de trabajo) y luego 00 (salir). Nos ha creado los directorios "place-........." en la carpeta de apk multitool. Copiamos la apk a modificar en " \APK_Multi-Tool\place-apk-here-for-modding "
Paso 5 --> Ejecutar script.bat, decompilamos con opcion 9. Una vez decompilada en el directorio " \APK_Multi-Tool\projects " hay un subdirectorio con el nombre de la apk decompilada
Paso 6 --> Quitar la publicidad de la apk (o modoficamos lo que deseemos: imagenes, etc). Para ello buscamos y eliminamos la carpeta " ads " de nuestra apk decompilada.
Paso 7 --> Compilamos de nuevo la apk, opcion 12. Luego seleccionamos opcion 3 para firmar la apk modificada (copia la firma de la apk original). Una vez terminado el proceso tendremos en el directorio " \APK_Multi-Tool\place-apk-here-for-modding folder " la apk firmada sin ads. Le ha añadido la palabra signed al nombre original de la apk. Pulsamos 00 para salir.
Paso 8 --> Instalar nuestra apk y a probar.


En este manual usa APK MANAGER.

Pasos 1, 2 ,3 --> Copiar la apk deseada a un directorio de nuestro PC. En el manual nos habla en estos 3 pasos como localizarla en nuestro SP. Ya sabemos hacer esto.
PAso 4 --> Ejecutar script.bat. Yo en este caso primero hacemos limpieza de directorios de trabajo con opcion 18, luego 3 (nos limpia el contenido de los mismos, si quereis. Si no quereis limpiarlos no pasa nada). Esta limpieza tambien vale para crear de nuevo los directorios. Copiamos la apk a modificar en " \APK_Manager\place-apk-here-for-modding "
Paso 5 --> Opcion 22 (selecciono apk) y opcion 9 (decompilar). Una vez decompilada en el directorio " \APK_Manager\projects " hay un subdirectorio con el nombre de la apk decompilada
Paso 6 --> Quitar la publicidad de la apk (o modoficamos lo que deseemos: imagenes, etc). Para ello buscamos y eliminamos la carpeta " ads " de nuestra apk decompilada.
Paso 7 --> Compilamos de nuevo la apk, opcion 11. Luego seleccionamos opcion " y " para firmar la apk modificada (copia la firma de la apk original). Una vez terminado el proceso tendremos en el directorio " \APK_Manager\place-apk-here-for-modding folder " la apk firmada sin ads. Le ha añadido la palabra unsigned al nombre original de la apk. Pulsamos 24 para salir. (ahora debemos firmarla: sign in)
Paso 8 --> Instalar nuestra apk y a probar.
 

Del blog

Es tendencia

¿Ha terminado la locura de añadir tantas cámaras a los móviles?

  • Si

  • No

  • No lo se

  • Ya me gustaría...

  • Ya te gustaría...


Los resultados solo son visibles tras votar.
Atrás
Arriba