Sei sulla pagina 1di 20

Hola compaeros, que tal???

=) bueno, otra vez me desvele por

ustedes y me quede sin dormir... jejejeje aqu les traigo un tuto para modificar apps, espero que les guste =)

Pues bien, a darle!! --------------------------------------------------------------------------------------Usuarios nuevos en modificacin de apps lean esto primero.

Bueno, primero aclarar que este tutorial est recomendado sobre todo para personas experimentadas en la edicin de aplicaciones java, aun as, puede ser usado por personas noveles (novatos); pero tendrn que poner mucha atencin a cada uno de los pasos y esforzarse en la bsqueda del cdigo correcto.

La clave es que si saben algo de programacin, les ser ms sencillo entenderlo, pero si no saben nada de nada =P pues lean un poco sobre nociones bsicas de programacin antes jaja

=\ esta aclaracin la hago para evitar spam con preguntas de "oye quiero modificar tal app, que archivo es el que tengo que modificar?" Aqu no se darn recetas mgicas, dado que no existen, pero en el tutorial explicare tips para hacerles la vida ms fcil.

Est en el esfuerzo de cada uno indagar en el cdigo de la app para comprenderla y modificarla para que funcione, a veces es frustrante, si bien te puedes tardar un par de minutos, tambin puedes tardar hasta horas y horas intentando entender el cdigo y a veces quizs ni lo consigas; esta en tus habilidades, el tiempo y la dedicacin, el poder asegurar tu xito.

Una vez aclarado todo eso, pasemos a lo bueno:

--------------------------------------------------------------------------Este tutorial esta creado para modificar apps bajo cualquier sistema operativo (windows, mac, linux) aunque la explicacin ser basada en windows. ---------------------------------------------------------------------------

El ejemplo ser explicando cmo hacer que las apps conecten con perfil Internet, para que no gasten saldo.

ojo! no funciona para todas las apps, de momento tanto yo que empec con esto, como los dems compaeros del foro, no hemos podido hacer funcionar aplicaciones que no conectan a un servidor (entindase las que hacen peticin directa como si de un pc se tratara, sin intermediarios), no digo que sea imposible, solo que de momento no hemos podido hacer que funcionen con webproxys de

esa forma, esperemos que algn genio/prodigio en programacin pueda conseguirlo y ayude a enriquecer este tutorial, que es para el beneficio de todos. ---------------------------------------------------------------------------

MODIFICACION HERRAMIENTAS

Requisitos previos:

Primero que nada necesitan tener instalado java, chequeen primero en archivos de programa si no tienen la carpeta con ese nombre, si s la tienen, ya no se lo bajen, si no, entonces pquenle al enlace y escojan su sistema operativo (32 bit = x86, 64bit = x64).

Asegrense que tambin esta agregado al path de windows.

De todos modos aqu dejo los pasos rpidos para agregarlo:

1.- apretar en el teclado los botones de windows y el de Pausa (esta junto al de impPnt en el lado superior derecho). Les abrir el sistema y sus caractersticas.

2.- en la pantalla que sale, busquen donde dice "configuracin avanzada del sistema" y dan click.

3.- en la ventana que abre, dan click en variables de entorno (en la pestaa opciones avanzadas).

4.- en las variables, busquen una en la parte inferior que dice "path" y denle editar. (OJO!! mucho cuidado al hacer esto, si modifican algo o borran puede que su sistema deje de funcionar correctamente).

5.-

en la ventanita que abre, donde dice valor de variable, solo

peguen al final, sin borrar ni seleccionar nada, el siguiente texto, tal cual con puntos y coma:

;C:\Program Files\Java\jre6\bin\;

Una vez cumplidos los requisitos previos, ya podemos dar paso al software que requeriremos para editar, que sern:

1.- un editor hexadecimal, yo utilizo el UltraEdit portable (para activarlo), pero pueden usar el de su preferencia.

2.- apktool.

Deben de descargar el que dice apktool-install-xxx.tar.bz2 xxx son su sistema operativo).

(las

Igualmente descarguen el que dice apktoolx.x.x.tar.bz2 (las xxx son la versin ms actual y por eso no pongo nmeros).

3.- es opcional pero les servir demasiado, un buscador de textos, yo uso el fileseek.

Descargado

todo,

pasemos

crear

una

carpeta

donde

concentraremos nuestro trabajo. En mi caso la nombre Apktool.

Ahora descomprimimos el contenido de los 2 archivos que nos bajamos, dentro de la carpeta apktool, para que queden todos juntos. Igualmente introducimos en esta carpeta el archivo que queramos modificar. Para el ejemplo, usaremos el opera mini 6.

Ahora vamos a abrir un command, as que tendremos que apretar la tecla shift y la dejaremos presionada mientras damos click derecho en un rea en blanco para que nos aparezca el siguiente men.

Si no te apareci ese men, checa esto:

Tendrs que usar la alternativa de apretar la tecla windows y la tecla R al mismo tiempo, para que te aparezca la siguiente ventana y en ella tendrs que escribir cmd y aceptar, despus tendrs que navegar hasta la carpeta donde estamos ubicados para modificar la app.

Una vez abierto el command, Introduciremos el siguiente comando:

apktool.bat d Nombre_de_tu_aplicacion.apk

Esto descomprimir el archivo apk y te mostrara su contenido para que lo puedas editar. Para esto creara una carpeta con el mismo nombre de la aplicacin (no cierren el command).

Como puedes ver en la captura, se ve la carpeta que creo y una serie de textos que aparecieron en el command. Eso te debe aparecer siempre que se haga una descompresin satisfactoria. Si por alguna razn te aparece otro mensaje, que seale un error, tendrs que checar que tu app no este corrupta descargndola de nuevo y si ni as da, entonces tendrs que borrar el apktool y volver a repetir los pasos de este tutorial (descargarlo, descomprimirlo y ejecutarlo "por primera vez").

Ahora entraremos en la carpeta que nos cre y podrn ver que aparecen otras carpetas y un archivo xml y un yml.

Bueno, pues explicare que pasa en estas carpetas. Las carpetas res y smali siempre las van a ver presentes en todas sus aplicaciones, antes de que las modifiquen (al modificarlas y aplicar los cambios aparecern otras 2). En este caso aparecen dos carpetas ms, propias del opera que son assets y lib, las cuales no nos interesan pues no traen nada interesante.

La carpeta smali, siempre va a ser en la que queramos buscar para cosas de funciones de la app, como es este caso, que vamos a modificar la forma en cmo se conecta.

La carpeta res, siempre incluye archivos xml, como pueden ser los lenguajes de la aplicacin, imgenes (para los diseadores aqu vienen las personalizaciones), as como informacin de la aplicacin. OJO!!! estos archivos aunque son xml, no significa que sean texto plano, en varias ocasiones vienen condificados en otro formato (propio de linux , recordemos que android est basado en linux) asi que siempre deben abrirlos con editores avanzados, como el UltraEdit que les incluyo y no con el notepad/bloc de notas y en caso de que les pregunte si quieren convertirlo a un documento tipo DOS (de windows) deben decirle que no!.

Ahora, es momento de usar 2 cositas, nuestra cabeza y el programita para hacer trampa fileseek. :P y ahorrar tiempo jejeje el

Este paso pueden omitirlo y buscar las cosas archivo por archivo, de hecho si son novatos, se los recomiendo, porque as van viendo el cdigo y lo van intentando relacionar (para saber cmo funciona la aplicacin) eso para los listillos, que quieren modificar aplicaciones a fondo, con esto me refiero a alterar su funcionamiento.

Para los vivillos que solo quieren ver si se puede modificar para internet free, pues bastara con usar solo el fileseek y ya.

Los pasos del fileseek los pongo de todos modos:

Lo que vamos a hacer en el fileseek es apretar en primera instancia el botn que dice "Browse" y en la ventana que nos abre, seleccionaremos la carpeta del archivo a modificar (recordemos que en este caso la carpeta se llama "Opera_Mini_6_original" que es la que nos cre el apktool).

una vez hecho esto, vamos a escribir el parmetro de tipo de archivo, chequen la imagen, el cual es *.smali en donde dice "include files", esto har que todos los archivos de ese tipo (smali) sea donde busque lo que queremos, sin que busque por error en otro tipo de archivos (por ejemplo los de la carpeta res que son xml).

en "Query:" le pondremos lo que queremos buscar, en este caso pusimos "http://" porque de antemano yo ya saba que eso es lo que buscbamos xD pero esto es divertido, tienen que adivinar como pueda estar estructurado, muchas veces lo que yo hago es poner todas estas variables, una a la vez.

".com", ".net", ":80", "http://", "www." (Todas sin comillas ni coma, aqu lo puse para separar y especificar la parte que pongo. Recuerden que uno a la vez para mejores resultados).

Para ver si me aparece alguna pgina web y checar si es un servidor, que es lo que nos interesa, puesto que de momento solo he logrado hacer que funcionen las apps que lo usan, de modo free/gratis.

El resto del programa djenlo como ven en la captura y aprietan el botn "search". Esto les mostrara los archivos que contienen el texto que le pedimos que buscara, en este caso son 3 (mucho ms rpido que si vamos archivo por archivo no creen? diferencia de solo 3 a buscar en 41 que son en total). ;D mucha

Una vez que hemos localizado los archivos que nos interesan, tendremos que abrirlos con el editor Hexadecimal (mi ejemplo es con UltraEdit) para buscar esas lneas y ver si son lo que nos interesa (que contengan http:// que es lo que queremos modificar).

Como podrn ver en la imagen, en la parte de arriba es donde ponemos lo que queremos buscar, y en los binoculares con la flecha hacia la derecha, te va buscando el que sigue, la flecha hacia atrs la anterior y los binoculares solitos abren un cuadro de bsqueda.

En este archivo que escog para la captura, fue tomado a propsito, para mostrar un error que cometen muy a menudo los novatos, que ven una direccin "http://.................." y texto y ya creen que es una pgina de Internet y no es as, lo he visto en aplicaciones android mal modificadas, pero tambin en aplicaciones java.

En este caso, la direccin 10.30.2.71 se refiere a una direccin local, o sea del telfono. Todas las que encuentren que tienen 10.x.x.x o 192.x.x.x siempre van a ser para comunicarse con el telfono, siempre verifquenlo, copien la direccin y pguenla en su navegador de escritorio (la PC) y si no les abri ninguna pgina porque se queda cargando o les mando error, quiere decir que es una direccin del telfono.

Es raro que una aplicacin ponga sus direcciones web con nmeros, que llega a pasar, pero es poco probable, as que siempre que vean numeritos, duden, aunque ya saben la regla 10. y 192. Siempre son del telfono.

Ahora pues, vamos a abrir el correcto.

Como podrn ver, ya hice el mismo paso, puse http y le di buscar y oh sorpresa!! me encontr la direccin del server de opera, esa es a la que tendremos que modificar para ponerle nuestro proxy favorito. Obvio no es la nica, sigan dndole adelante a la bsqueda y encontraran ms, tambin a esas pnganle el proxy. Por si las moscas, el formato del proxy es este:

http://www.servicios-ie.telcel.com.Tuwebproxy/mini5.operamini.net:80/

Donde tuwebproxy obviamente debe ser el de tu predileccin, recomendablemente que sea un proxy cgi, aunque en el caso especfico del opera, conviene uno appspot para que vuele, ya que trabaja con ficheros encriptados y no tendr problemas con parmetros php como otras aplicaciones.

Por ltimo, si se fijan de nuevo en la imagen, tambin podrn apreciar que arribita hay un socket: pues bien, as como buscamos "http://" tambin debemos buscar "socket:" para anularlos y que no se conecten por este medio, as no les quitara saldo.

Como se anulan los socket? muy fcil, solo reemplaza la direccin que te pone por un espacio en blanco o tu nombre. Para que en vez de quedar "socket://mini5.opera-mini.net:1080/" quede as " " o que quede as "hola" y listo!!! dan guardar y ya!! (No se preocupen, automticamente crea un back up, eso s, si vuelven a modificarlo, se perder el back up original, yo les recomiendo que copien los backups a otro lado para evitar problemas).

Ahora viene lo ms divertido, que es volver a crear el apk, firmarlo y probar si nos sali bien la modificacin =P

Para eso vamos a ir de nuevo al command (recuerden que les dije que no lo cerraran, sino tendrn que abrirlo de nuevo) y ahora el cdigo que pondremos ser este:

apktool.bat b Nombre_de_la_carpeta_modificada

y les aparecer una pantalla como esta

Si es as, podrn ver que no hay problema que se queden los archivos .bak dentro de las carpetas, los ignora y concluye satisfactoriamente. Pero si les llega a tirar 1 error, va a ser por 2 factores, el primer es que quizs borraron parte del cdigo que freg la app y la segunda la explico a continuacin.

Ahora vayan de nuevo a la carpeta de su aplicacin y vern 2 carpetas nuevas, una se llama build y la otra dist

En la carpeta dist encontraran su app modificada, con el nombre de la app original.

y la carpeta build es el otro posible problema que les mencione hace un momento, si les llega a tirar error al re ensamblar su aplicacin, podra ser porque ya existe una carpeta build previa, bastara con borrarla y volver a repetir el comando para empaquetar su modificacin.

:D ya se cansaron?? XDDD pues bueno, ya nada ms les falta ir a mi otro tuto para firmar su app y poder instalarla en su telfono (ese ya es sper rpido).

aqui les dejo el link del tutorial que hice para firmar las apps

----------------------------

Si les gusto, no olviden agradecer y obvio si por alguna razn se lo llegan a llevar a otro lado, por fa no olviden dar los crditos, que me tomo toda la noche hacerlo.

Gracias! Atte. Badtzo Para Se-Planet.com

Potrebbero piacerti anche