Ingeniería de software, tecnología e innovación aplicados a los nuevos desafíos de desarrollo.
Android Análisis Reverso - Generando cambio de color para #Twitter
Obtener vínculo
Facebook
X
Pinterest
Correo electrónico
Otras apps
El objetivo de este articulo es comprender el poder de las técnicas de #ingeniería-reversa, analizar las aplicaciones móviles desde una óptica interna y mejorar el fantástico mundo móvil. En este caso un enfoque práctico sobre #Android y como desafío tendremos, el modificar desensamblando y ensamblando la aplicación #Twitter para cambiar su tradicional color.
Veamos el paso a paso del proceso:
Identificamos la aplicación en el dispositivo y hacemos una copia de su #apk.
Fig.1
Vamos a trabajar con #Twitter como muestra Fig.2
Fig.2
Ya tenemos el resguardo del #apk, debemos pasarlo a nuestra laptop para iniciar las operaciones.
Fig.3
Como vamos a modificar el color de la barra central de #Twitter, vamos a hacer una captura para poder extraer el color exacto que nos facilitará la tarea de identificación sobre el código desensamblado.
Fig.4
Luego pasamos el ensamblado a nuestra laptop y los trabajamos con #apktool. Desensamblamos el #apk con el comando mostrado en la Fig.5.
Fig.5
Luego como vemos en la Fig.6 tenemos el proyecto para realizar las modificación que necesitemos. Como nuestro objetivo es cambiar el color central de la aplicación, seguramente dentro de res/values encontraremos colors.xml, tenemos muchas posibilidades de encontrar lo buscado en este archivo.
Fig.6
Abrimos colors.xml y buscamos con el color extraído de la detección que muestra la Fig.4.
Fig.7
Guardamos colors.xml y procedemos a ensamblar el código nuevamente utilizando #apktool. Fig.8
Fig.8
Luego pasamos el ensamblado generado al dispositivo. [recuerden que el ensamblado nuevo se genera en la carpeta #dist] y lo firmamos con #ZipSigner. Fig.9
Fig.9
Solo resta instalar manualmente el nuevo ensamblado firmado. [recuerden desinstalar antes la aplicación a reemplazar, para ser ordenados en el proceso]. Fig.10
Fig.10
El proceso completo se encuentra grabado en vivo en este video:
En este artículo les traigo un análisis sobre las relaciones típicas de UML, como trabajar con ellas y algunas nociones de modelado. Al modelar los elementos que constituyen el vocabulario de un sistema, también hay que modelar como se relacionen entre si estos elementos. Pero típicamente encontramos complejidad en estas redes de relaciones, para sortear este inconveniente tenemos que tener un acabado conocimiento del uso de la relaciones. Hablando con diseñadores en diversos escenarios manifiestan conocimiento sobre relaciones, "utilizo a diario en mis diseños, dependencias, generalizaciones y asociaciones", pero el interrogante que emerge "¿Es suficiente la utilización básica de las relaciones para capturar los detalles de los sistemas actuales?" Para niveles aceptables de diseño, muchas veces es necesario profundizar sobre las relaciones y este objetivo intentaré cubrir en este artículo, como sería muy extenso tratar todas las relaciones voy a optar por definir c...
Cada equipo es una mezcla de personalidades, muchos líderes se preguntan cómo obtener la mejor combinación de las mismas y optimizar el equipo de trabajo. También ocurre un comportamiento frecuente, muchos equipos no están a la altura de su potencial, y una posible explicación es que los líderes no saben cómo manejar la diferencia en cómo las personas se acercan a su trabajo. Para abordar esta discusión me pareció muy interesante la siguiente propuesta de "Suzanne Johnson Vickberg and Kim Christfort, en el trabajo Pioneers, Drivers, integrators, & Guardians" donde se proponen 4 estilos de trabajo: Pioneros : valoran las posibilidades, la energía (chispas de energía) y la imaginación en sus equipos. Ellos creen que los riesgos valen la pena. Su enfoque es BigPicture. Ellos son atraídos a las nuevas ideas, enfoques creativos. Guardianes : valoran la estabilidad, ponen orden y rigor. Son pragmáticos, y no se atreven a abrazar el riesgo. Datos y hechos son requisi...
Antes de comenzar la actividad de desarrollo vamos a definir de que se trata, cuando establecemos que utilizaremos intents implícitos en la solución mobile de Android. Los intents implícitos se utilizan cuando no se especifica un componente exacto a utilizar, en su lugar, se especifica la funcionalidad requerida a través de una acción (por ejemplo, 'ver', 'hacer búsqueda', 'marcar') y un dato (por exemplo, la URL de la página que se desea ver, el número que se desea marcar), y Android debe determinar el mejor componente para su utilización. Esa es una de las características más interesantes de Android, porque permite que una aplicación desencadene un “Intent” sin conocer exactamente cuál será la aplicación o componente que lo recibirá, y por eso puede interactuar con otras aplicaciones de manera muy flexible El filtro más comunmente utilizado es una acción, y la acción más común tiene que ver con el modo ACTION_VIEW. Los pasos básicos para lanzar una activid...
Comentarios
Publicar un comentario