Descarga el programa de edición hexadecimal. ¿Qué son los editores HEX y por qué son necesarios? Vídeo para el programa Free Hex Editor Neo. Aquí hay algunos videos relacionados con Free Hex Editor Neo. Cómo utilizar Gratis

Muy a menudo, después de descargar una aplicación de Google Play u otro Fuente desconocida es necesario guardar el archivo de instalación con la aplicación (.apk) en su dispositivo. Por ejemplo, para transferir interesante aplicación a través de Bluetooth. Sin embargo, no siempre hay tiempo para buscar el archivo de instalación en varios servicios de alojamiento de archivos y numerosos recursos dedicados a temas de Android. Por tanto, para extraer el archivo de instalación con la aplicación (.apk) del dispositivo, existen varias formas sencillas. EN en este ejemplo Te hablaré de los tres más populares.

Método número 1

Para extraer el archivo de instalación con la aplicación (.apk) del dispositivo es necesario:
1) Primera descarga administrador de archivos- Astro File Manager e inicia la aplicación descargada. Si Astro File Manager ya está instalado en usted, deberá encontrarlo en su dispositivo Android y simplemente corre (camino completo) Menú - Astro Administrador de archivos .

2) Después de iniciar Astro File Manager, se nos presenta una ventana en la que vemos las unidades de memoria presentes en el dispositivo y una lista de series. servicios en la nube(siempre puedes registrarte o iniciar sesión en ellos, ampliando así el espacio interno del dispositivo en varios Gb adicionales).

3) Luego deslícese hacia la izquierda, abriendo el menú principal de la aplicación.

4) Después de esto, debes hacer clic en el elemento. Gestor de aplicaciones, llevándote a una nueva ventana que muestra todas las aplicaciones instaladas en tu smartphone o tableta.

5) Para extraer el archivo de instalación con la aplicación (.apk) del dispositivo, debe tocar la aplicación que desea extraer, por ejemplo Google Chrome, toque el ícono de Google Chrome y aparecerán dos sugerencias frente a nosotros: hacer Copia de respaldo o desinstalar.

6) Toque el punto izquierdo Res. Copie y espere a que se complete el proceso. Una vez que se completa la copia, los archivos de instalación de la aplicación se pueden encontrar en la memoria del teléfono.

7) Camino completo a archivos de instalación Las aplicaciones se ven así: / tarjeta SD/repostería.

Método número 2

Instale la aplicación de desinstalación de Root. Abra la aplicación, Root Uninstaller escaneará cuántas aplicaciones tiene y hará una copia de seguridad de todas las aplicaciones a lo largo del camino:
Desde el teléfono mnt\tarjeta SD\copias de seguridad automáticas.
Desde la computadora (para que el teléfono sea reconocido como una unidad flash) sdcard\RootUnistaller\autobackups.

Método número 3

Obtenemos raíz. Instale la aplicación. Abre la aplicación y sigue la ruta \ datos\aplicación\ y seleccione la aplicación. Si está interesado en las aplicaciones del sistema, siga esta ruta\ sistema\aplicación\ y seleccione la aplicación. Guardamos las aplicaciones seleccionadas en la SDCARD (tarjeta de memoria) y hacemos con ella lo que queramos.

Artículos relacionados con APK:

Es hora de conseguir el tuyo aplicación lista que se puede ejecutar en un teléfono inteligente o tableta. Si ejecuta Corona SDK en Windows, solo estará disponible la compilación para Android. Para crear una versión para iOS, debes ejecutar el programa en Mac. Independientemente del sistema que elija, primero necesitará una clave de desarrollador.

Para compilar, vaya a Archivo > Construir para Android o presione la combinación Teclas Ctrl+B. Se abrirá la siguiente ventana.

Nombre de la aplicación. El nombre de su aplicación. Es mejor escribirlo en el mismo idioma que la propia aplicación. Puede ser en letras rusas o latinas, no importa.

Código de versión. Un número entero que representa la versión del código del programa. El valor es obligatorio para fines internos y no se muestra a los usuarios. Por ejemplo, al actualizar una aplicación en Google Versión de reproducción debe aumentar en 1 o más. De lo contrario, Google simplemente no agregará el archivo APK.

Nombre de la versión. Versión de la aplicación. Representa una cadena que se muestra a los usuarios. Generalmente se escribe como dos o tres números separados por un punto, como 3.14 o 2.1.1. El primer número es el número de la versión principal, el segundo número es el número de la versión secundaria. En cualquier caso, la forma de redactar la versión queda a criterio del autor y él mismo decide de qué forma le conviene hacerlo.

Paquete. Identificador único aplicaciones. Tradicionalmente escrito como com.nombre_empresa.nombre_aplicación. En lugar de la com inicial, a veces se encuentra ru o io. Cada palabra debe contener al menos dos caracteres y comenzar con una letra latina. Puede incluir números, letras y un guión bajo. No se permiten otros caracteres en el escrito. Tampoco está permitido utilizar reservados en Java. palabras clave como función, int, for, etc.

Objetivo Tienda de aplicaciones . Seleccione a qué tienda o plataforma se dirige su aplicación. Las siguientes opciones están disponibles:

  • Amazonas - para servicio de amazon Almacenar;
  • GameStick: para la plataforma GameStick;
  • Google Play: para el servicio de distribución digital Google Play;
  • Rincón: para la tienda Barnes & Noble;
  • Ouya - para consola de juego Ouya;
  • Ninguno: la aplicación no está destinada a tiendas digitales.

Versión mínima del SDK. La versión mínima de Android en la que se puede ejecutar su aplicación. Este valor no se puede cambiar.

Almacén de claves. Clave de desarrollador. Antes de la compilación, también necesitará una contraseña. Puede marcar la casilla de verificación "Guardar contraseña" para no tener que ingresar una contraseña cada vez.

Alias ​​clave. Nombre clave. Si es el único, se seleccionará automáticamente.

Guardar en carpeta. La carpeta donde debes guardar el archivo APK terminado. De forma predeterminada, se guarda en la carpeta del proyecto.

Todas las configuraciones ingresadas se guardan y no es necesario especificarlas nuevamente al compilar nuevamente.

Imagina la siguiente situación: instalaste un juego en Android, lo completaste y lo eliminaste, pero te gustó y probablemente quieras volver a jugarlo algún día. Pero para no olvidarte de este juego y, una vez más, no descargarlo durante mucho tiempo, puedes extraer el archivo apk y usarlo más tarde.

Instrucciones: extraer apk en Android

1. Ir a Archivo ASTRO Administrador y deslícese hacia la izquierda.

2. Se abrirá herramientas adicionales. Seleccione "Administrador de aplicaciones".

3. Seleccione las aplicaciones cuyos archivos apk desea extraer. Para hacer esto, simplemente tócalos. Si desea seleccionar todas las aplicaciones, toque el ícono en la parte superior de la pantalla.

4. Aparecerán dos nuevas opciones en la parte inferior. Haga clic en "Copia de seguridad".

5. Después de esto, comenzará la copia del archivo.

Los archivos apk extraídos se ubicarán en la tarjeta SD en la carpeta “copias de seguridad”, así como en el administrador de aplicaciones ASTRO File Manager en la sección “Aplicaciones copiadas”.

Eso es todo. espero que esta instrucción te fue útil.

Saludos queridos fanáticos del sistema operativo Android. En el artículo de hoy intentaré cubrir lo más completamente posible tema interesante– una selección de herramientas para crear su propia aplicación (en línea) para dispositivos basados ​​en sistemas operativos populares sistemas android.

Con desarrollo tecnologías móviles, el mercado también se está desarrollando aplicaciones móviles, incluido el mercado de aplicaciones móviles para el sistema operativo Android. Si antes sólo podía presentar una solicitud un programador avanzado con gafas gruesas y con cinco años de estudios universitarios, ahora esta oportunidad está al alcance de cualquier persona que no esté familiarizada con los lenguajes de programación y, además, sin desconectarse de Internet, es decir, sin necesidad de desconectarse de Internet. en línea.

En la colección encontrará cuatro herramientas que le permitirán crear una aplicación de forma rápida y sencilla. Todas las herramientas propuestas son similares a los kits de construcción, debe ensamblar su primera aplicación a partir de varios componentes ya preparados, puede crear una aplicación de la misma manera que ensambla un constructor de Lego.

Todos los instrumentos fueron seleccionados de acuerdo con los siguientes criterios.:

  • Facilidad de uso. Dado que dicha herramienta será utilizada principalmente por personas no familiarizadas con la programación y elementos complejos, entonces el énfasis principal en este pequeña selección, estuvo enfocado en la conveniencia y facilidad de uso de las herramientas propuestas;
  • Intuitivamente interfaz clara . Este punto y condición se deriva lógicamente del anterior. Además de que la interfaz de la herramienta para crear aplicaciones para el sistema operativo Android (Android) debe ser sencilla, también debe ser intuitiva;
  • Posibilidades. Cuantas más cosas diferentes “pueda” hacer una herramienta, mejor. Básicamente, todas las aplicaciones presentadas tienen el mismo conjunto de herramientas, con pequeñas diferencias y cambios.

Entonces, escribamos, comencemos a crear la aplicación (la aplicación completa se puede crear en línea), a continuación puede familiarizarse con la selección de productos de software y elegir el más conveniente y herramienta funcional.

El generador de aplicaciones

Una buena herramienta para crear aplicaciones. Sin duda, la buena noticia es que puedes utilizar esta herramienta de forma totalmente gratuita. La desventaja es que este producto de software no es compatible con el idioma ruso, pero si estudiaste inglés en la escuela, al menos un poco, entonces no debería haber problemas al usar TheAppBuilder. De todas las posibilidades dadas producto de software Me gustaría señalar lo siguiente:

  • Gran selección de plantillas para crear tus aplicaciones de Android. Si desea crear un programa simple, entre las opciones de plantilla propuestas puede seleccionar fácilmente la que necesita;
  • Capacidad de ver estadísticas detalladas según la aplicación que creaste;
  • Publicación sencilla y clara de la aplicación que creaste en Google Play.

AplicacionesGeyser


Otra buena herramienta de alta calidad que merece mucha atención. Como dije anteriormente, para crear )) no necesitas saber programar para Android; todo en este programa es tan simple que puedes crear una aplicación para tu proyecto en unos minutos, simplemente ensamblándola por las partes. del “constructor”. A continuación puede familiarizarse con las capacidades de la herramienta propuesta.:

  • Un gran archivo de plantillas sobre diversos temas: restaurantes, pizzerías, estudios fotográficos, vacaciones, deportes, radio, transporte de carga y muchas, muchas otras plantillas. Sólo necesitas seleccionar el apropiado y comenzar a editarlo para adaptarlo a tus necesidades;
  • Herramientas integradas para promocionar su nueva aplicación. A veces, para promocionar y promocionar su nueva aplicación necesita dedicar mucho esfuerzo y tiempo, las herramientas de promoción integradas en el creador pueden facilitar su tarea;
  • Posibilidad de conectar su programa a red publicitaria, de esta manera puedes ganar dinero con las aplicaciones que creas.

AppsMakerstore




Una herramienta muy sencilla para crear programas para tu sistema operativo Android. Ventaja principal esta aplicación es que de una sola vez puedes crear una aplicación para seis dispositivos móviles diferentes sistemas operativos. También entre las ventajas de este instrumento se pueden distinguir los siguientes:

  • Capacidad para trabajar con el diseñador en línea;
  • Es posible registrar una cuenta gratuita;
  • Gran archivo de plantillas para su aplicación Android (Android), escriba solicitud requerida puedes hacerlo en dos clics.

Eso es todo por hoy. Espero que hayas elegido la herramienta adecuada para ti y sepas cómo realizar tu primera aplicación. También escribimos nuestra opinión en los comentarios de este material.

A veces, algunas aplicaciones en Android no se adaptan de alguna manera al usuario. Un ejemplo es publicidad molesta. Y también sucede que el programa es bueno para todos, pero la traducción es torcida o está completamente ausente. O, por ejemplo, el programa es una prueba, pero obtienes versión completa no hay posibilidad. ¿Cómo cambiar la situación?

Introducción

En este artículo hablaremos sobre cómo desensamblar un paquete APK con una aplicación, lo veremos estructura interna, desmontar y descompilar el bytecode, y también intentar realizar varios cambios en las aplicaciones que nos puedan aportar un beneficio u otro.

Para hacer todo esto usted mismo, necesitará al menos conocimiento básico lenguaje java, en el que se escriben las aplicaciones de Android, y lenguaje XML, que se usa en todas partes en Android, desde la descripción de la aplicación en sí y sus derechos de acceso hasta el almacenamiento de cadenas que se mostrarán en la pantalla. También necesitará la capacidad de utilizar software de consola especializado.

Entonces, ¿qué es un paquete APK en el que se distribuye absolutamente todo el software de Android?

Descompilación de aplicaciones

En este artículo solo trabajamos con código de aplicación desensamblado, pero si grandes aplicaciones Al realizar cambios más serios, comprender el código pequeño será mucho más difícil. Afortunadamente, podemos descompilar el código dex en código Java, que, aunque no es original ni está compilado, es mucho más fácil de leer y comprender la lógica de la aplicación. Para ello necesitaremos dos herramientas:

  • dex2jar es un traductor del código de bytes de Dalvik al código de bytes de JVM, a partir del cual podemos obtener código en el lenguaje Java;
  • jd-gui es un descompilador que le permite obtener código Java legible a partir del código de bytes JVM. Como alternativa, puedes utilizar Jad (www.varaneckas.com/jad); aunque es bastante antiguo, en algunos casos genera más código legible, en lugar de Jd-gui.

Así es como se deben utilizar. Primero, ejecutamos dex2jar, especificando la ruta al paquete apk como argumento:

% dex2jar.sh correo.apk

Como resultado, el paquete Java mail.jar aparecerá en el directorio actual, que ya se puede abrir en jd-gui para ver el código Java.

Disposición de paquetes APK y recepción de ellos.

Bolsa de plastico aplicaciones de Android, de hecho, es un archivo ZIP normal, no se requieren herramientas especiales para ver el contenido y extraerlo. Basta con tener un archivador: 7zip para Windows o descomprimir la consola en Linux. Pero eso es todo sobre el envoltorio. ¿Qué hay adentro? dentro tenemos caso general esta estructura:

  • META-INF/- contiene certificado digital aplicación, identificación de su creador y sumas de verificación de los archivos del paquete;
  • res/ - varios recursos que la aplicación utiliza en su trabajo, como imágenes, descripción declarativa de la interfaz, así como otros datos;
  • AndroidManifest.xml- descripción de la aplicación. Esto incluye, por ejemplo, una lista de permisos requeridos, requisitos versión de Android y la resolución de pantalla requerida;
  • clases.dex- código de bytes de aplicación compilado para máquina virtual Dalvík;
  • recursos.arsc- también recursos, pero de otro tipo - en particular, cadenas (sí, ¡este archivo se puede utilizar para la rusificación!).

Los archivos y directorios enumerados se encuentran, si no en todos, quizás en la gran mayoría de los APK. Sin embargo, hay algunos archivos/directorios no tan comunes que vale la pena mencionar:

  • activos- análogo de recursos. La principal diferencia es que para acceder a un recurso es necesario conocer su identificador, pero la lista de activos se puede obtener dinámicamente utilizando el método AssetManager.list() en el código de la aplicación;
  • biblioteca- Bibliotecas nativas de Linux escritas con NDK (Native Development Kit).

Este directorio lo utilizan los productores de juegos que colocan allí sus motores de juegos escritos en C/C++, así como los creadores de aplicaciones de alto rendimiento (por ejemplo, Google Chrome). Descubrimos el dispositivo. Pero, ¿cómo se obtiene el archivo del paquete de la aplicación que le interesa? Dado que no es posible recuperar archivos APK del dispositivo sin root (se encuentran en el directorio /data/app), y no siempre es recomendable rootear, existen al menos tres formas de obtener el archivo de la aplicación en su computadora:

  • Extensión de descarga de APK para Chrome;
  • Aplicación Leecher APK real;
  • varios alojamiento de archivos y Varezniks.

Cuál usar es cuestión de gustos; preferimos usar aplicaciones individuales Por lo tanto, describiremos el uso de Real APK Leecher, especialmente porque está escrito en Java y, en consecuencia, funcionará en Windows o Nix.

Después de iniciar el programa, debe completar tres campos: correo electrónico, contraseña e ID del dispositivo, y seleccionar un idioma. Los dos primeros son el correo electrónico y la contraseña de tu cuenta de Google que utilizas en el dispositivo. El tercero es el identificador del dispositivo y se puede obtener escribiendo el código en el marcador. # #8255## y luego encontrar la línea de ID del dispositivo. Al completar, solo necesita ingresar la identificación sin el prefijo de Android.

Después de completar y guardar, aparecerá el mensaje “ Error mientras conectando al servidor". No tiene nada que ver con Google Play, así que no dudes en ignorarlo y buscar paquetes que te interesen.

Ver y modificar

Digamos que encontraste un paquete que te interesa, lo descargaste, lo descomprimiste... y cuando intentaste ver algún archivo XML, te sorprendiste al descubrir que el archivo no era texto. ¿Cómo descompilarlo y cómo trabajar con paquetes en general? ¿Es realmente necesario instalar el SDK? No, no es necesario instalar el SDK en absoluto. De hecho, para todos los pasos de unboxing, modificación y embalaje. Paquetes APK Se necesitan las siguientes herramientas:

  • Archivador ZIP para desempacar y empacar;
  • pequeño- Ensamblador/desensamblador de código de bytes de la máquina virtual Dalvik (code.google.com/p/smali);
  • apto- una herramienta para empaquetar recursos (de forma predeterminada, los recursos se almacenan en formato binario para optimizar el rendimiento de la aplicación). Incluido en SDK de Android, pero también se puede obtener por separado;
  • firmante- herramienta para firma digital paquete modificado (bit.ly/Rmrv4M).

Puede utilizar todas estas herramientas por separado, pero esto es un inconveniente, por lo que es mejor utilizar software de nivel superior creado sobre su base. Si trabaja en Linux o Mac OS X, existe una herramienta llamada apktool. Le permite descomprimir recursos en aspecto original(incluidos los archivos binarios XML y arsc), reconstruya el paquete con los recursos modificados, pero no sabe cómo firmar paquetes, por lo que tendrá que ejecutar la utilidad de firma manualmente. A pesar de que la utilidad está escrita en Java, su instalación no es estándar. Primero necesitas obtener el archivo jar:

$ cd /tmp $ wget http://bit.ly/WC3OCz $ tar -xjf apktool1.5.1.tar.bz2

$ wget http://bit.ly/WRjEc7 $ tar -xjf apktool-install-linux-r05-ibot.tar.bz2

$ mv apktool.jar ~/bin $ mv apktool-install-linux-r05-ibot/* ~/bin $ export PATH=~/bin:$PATH

Si trabaja en Windows, existe una herramienta excelente llamada Virtuous Ten Studio, que también acumula todas estas herramientas (incluida la propia apktool), pero en lugar de una interfaz CLI proporciona al usuario una interfaz intuitiva. GUI, con el que podrás realizar operaciones de descomprimir, desensamblar y descompilar en unos pocos clics. Esta herramienta es Donation-ware, es decir, a veces aparecen ventanas pidiéndote que consigas una licencia, pero al final esto se puede tolerar. No tiene sentido describirlo, porque puedes entender la interfaz en unos minutos. Pero apktool, debido a su naturaleza de consola, debería analizarse con más detalle.


Veamos las opciones de apktool. En resumen, hay tres comandos básicos: d (decodificar), b (compilar) y if (instalar marco). Si todo está claro con los dos primeros comandos, ¿qué hace el tercero? operador condicional? Descomprime el marco de interfaz de usuario especificado, que es necesario en los casos en los que se analiza cualquier paquete del sistema.

Veamos las opciones más interesantes del primer comando:

  • -s- no desmonte archivos dex;
  • -r- no descomprimir recursos;
  • -b- no insertar información de depuración a los resultados de desmontar el archivo dex;
  • --ruta-marco- utilice el marco de interfaz de usuario especificado en lugar del integrado en apktool. Ahora veamos un par de opciones para el comando b:
  • -F- montaje forzado sin comprobar los cambios;
  • -a- indique la ruta a aapt (una herramienta para crear un archivo APK), si por alguna razón desea utilizarlo desde otra fuente.

Usar apktool es muy sencillo para hacer esto, solo especifica uno de los comandos y la ruta al APK, por ejemplo:

$ apktool d correo.apk

Después de eso en directorio de correo Aparecerán todos los archivos de paquetes extraídos y desensamblados.

Preparación. Deshabilitar la publicidad

La teoría es, por supuesto, buena, pero ¿para qué es necesaria si no sabemos qué hacer con el paquete desempaquetado? Intentemos aplicar la teoría a nuestro favor, es decir, modificar algún software para que no nos muestre publicidad. Por ejemplo, que sea Virtual Torch, una antorcha virtual. Este software es ideal para nosotros porque está repleto de publicidad molesta y, además, es lo suficientemente sencillo como para no perderse en la jungla del código.


Entonces, utilizando uno de los métodos anteriores, descargue la aplicación del mercado. Si decide utilizar Virtuous Ten Studio, simplemente abra el archivo APK en la aplicación y extráigalo, para lo cual cree un proyecto (Archivo -> Nuevo proyecto), luego en Menú de contexto proyecto, seleccione Importar archivo. Si su elección recayó en apktool, simplemente ejecute un comando:

$ apktool d com.kauf.particle.virtualtorch.apk

Después de esto, aparecerá un árbol de archivos similar al descrito en la sección anterior en el directorio com.kauf.particle.virtualtorch, pero con un directorio pequeño adicional en lugar de archivos dex y un archivo apktool.yml. El primero contiene el código desensamblado del archivo ejecutable dex de la aplicación, el segundo contiene la información de servicio necesaria para que apktool vuelva a ensamblar el paquete.

El primer lugar donde debemos buscar es, por supuesto, AndroidManifest.xml. Y aquí nos encontramos inmediatamente con la siguiente línea:

No es difícil adivinar que es el responsable de otorgar permisos a la aplicación para utilizar la conexión a Internet. De hecho, si sólo queremos deshacernos de la publicidad, lo más probable es que simplemente necesitemos bloquear la aplicación de Internet. Intentemos hacer esto. Borrar la línea especificada e intenta construir el software usando apktool:

$ apktool b com.kauf.particle.virtualtorch

El archivo APK resultante aparecerá en el directorio com.kauf.particle.virtualtorch/build/. Sin embargo, no será posible instalarlo, ya que no está firmado digitalmente y sumas de control archivos (simplemente no hay ningún directorio META-INF/ en él). Debemos firmar el paquete usando la utilidad apk-signer. Lanzado. La interfaz consta de dos pestañas: en la primera (generador de claves) creamos claves, en la segunda (firmante de APK) firmamos. Para crear nuestra clave privada, complete los siguientes campos:

  • Archivo de destino- archivo de salida del almacén de claves; normalmente almacena un par de claves;
  • Contraseña Y Confirmar- contraseña para el almacenamiento;
  • Alias- nombre de la clave almacenada;
  • Contraseña de alias Y Confirmar- contraseña de clave secreta;
  • Validez- período de validez (en años). El valor predeterminado es óptimo.

Los campos restantes son, en general, opcionales, pero se debe completar al menos uno.


ADVERTENCIA

Para firmar una aplicación usando apk-signer, debe instalar el SDK de Android y especificar la ruta completa en la configuración de la aplicación.

Toda la información se proporciona únicamente con fines informativos. Ni los editores ni el autor son responsables de ningún posible daño causado por los materiales de este artículo.

Ahora puedes firmar el APK con esta clave. En la pestaña Firmante de APK, seleccione el archivo recién generado, ingrese la contraseña, el alias de clave y la contraseña, luego busque archivo APK y audazmente presiona el botón"Firmar" Si todo va bien, se firmará el paquete.

INFORMACIÓN

Como firmamos el paquete con nuestra propia clave, entrará en conflicto con la aplicación original, lo que significa que cuando intentemos actualizar el software a través del mercado, recibiremos un error.

Sólo se requiere una firma digital software de terceros, entonces si estás haciendo una modificación aplicaciones del sistema, que se instalan copiándolos en el directorio /system/app/, no es necesario firmarlos.

Después de eso, descargue el paquete a su teléfono inteligente, instálelo y ejecútelo. ¡Listo, el anuncio desapareció! Sin embargo, en su lugar apareció un mensaje de que no tenemos Internet o no tenemos los permisos adecuados. En teoría, esto podría ser suficiente, pero el mensaje parece molesto y, para ser honesto, tuvimos suerte con una aplicación estúpida. Lo más probable es que el software escrito normalmente aclare sus credenciales o compruebe la conexión a Internet y, de lo contrario, simplemente se niegue a iniciarse. ¿Cómo ser en este caso? Por supuesto, edite el código.

Normalmente, los autores de aplicaciones crean clases especiales para mostrar anuncios y llaman a los métodos de estas clases cuando se inicia la aplicación o una de sus "actividades" (en términos simples, pantallas de aplicaciones). Intentemos encontrar estas clases. Vamos al directorio smali, luego com (en org solo esta el open biblioteca de gráficos cocos2d), luego kauf (exactamente ahí, porque este es el nombre del desarrollador y todo su código está ahí) - y aquí está, el directorio de marketing. En su interior encontramos un montón de archivos con la extensión smali. Estas son clases, y la más notable de ellas es la clase Ad.smali, por cuyo nombre es fácil adivinar que es la que muestra publicidad.

Podríamos cambiar la lógica de su funcionamiento, pero sería mucho más fácil simplemente eliminar las llamadas a cualquiera de sus métodos desde la propia aplicación. Por tanto, salimos del directorio de marketing y nos dirigimos al directorio de partículas adyacente, y luego a virtualtorch. Atención especial El archivo MainActivity.smali merece esto. Esta es una clase estándar de Android creada por el SDK de Android y configurada como punto de entrada a la aplicación (similar a funciones principales Cª). Abra el archivo para editarlo.

En el interior hay un código pequeño (ensamblador local). Es bastante confuso y difícil de leer debido a su naturaleza de bajo nivel, por lo que no lo estudiaremos, simplemente encontraremos todas las referencias a la clase Ad en el código y las comentaremos. Ingresamos la línea “Anuncio” en la búsqueda y llegamos a la línea 25:

Campo de anuncio privado:Lcom/kauf/marketing/Ad;

Aquí se crea un campo de anuncio para almacenar un objeto de clase de anuncio. Comentamos colocando un cartel ### delante de la fila. Seguimos la búsqueda. Línea 423:

Nueva instancia v3, Lcom/kauf/marketing/Ad;

Aquí es donde ocurre la creación del objeto. Comentemos. Continuamos la búsqueda y encontramos en las líneas 433, 435, 466, 468, 738, 740, 800 y 802 llamadas a métodos de la clase Ad. Comentemos. Parece que eso es todo. Ahorrar. Ahora es necesario volver a armar el paquete y verificar su funcionalidad y la presencia de publicidad. Para garantizar la pureza del experimento, devolvemos la línea eliminada de AndroidManifest.xml, ensamblamos el paquete, lo firmamos y lo instalamos.

Nuestro conejillo de indias. Publicidad visible

¡Ups! La publicidad desapareció sólo mientras la aplicación se estaba ejecutando, pero permaneció en el menú principal, que vemos cuando iniciamos el software. Entonces, espere, pero el punto de entrada es la clase MainActivity y el anuncio desapareció mientras se ejecutaba la aplicación, pero permaneció en el menú principal, entonces, ¿el punto de entrada es diferente? Para identificar el verdadero punto de entrada, vuelva a abrir el archivo AndroidManifest.xml. Y sí, contiene las siguientes líneas:

Nos dicen (y, lo que es más importante, a Android) que se debe iniciar una actividad denominada Inicio en respuesta a la generación de una intención (evento) android.intent.action.MAIN de la categoría android.intent.category.LAUNCHER. Este evento se genera cuando toca el ícono de la aplicación en el iniciador, por lo que determina el punto de entrada, es decir, la clase Inicio. Lo más probable es que el programador primero haya escrito una aplicación sin un menú principal, cuyo punto de entrada era la clase estándar MainActivity, y luego agregó una nueva ventana (actividad) que contiene el menú descrito en la clase Inicio, y la convirtió manualmente en la entrada. punto.

Abra el archivo Start.smali y busque nuevamente la línea “Ad”, encontramos en las líneas 153 y 155 una mención de la clase FirstAd. También está en el código fuente y, a juzgar por su nombre, se encarga de mostrar anuncios en la pantalla principal. Miremos más allá, estamos creando una instancia de la clase FirstAd y un intent que según el contexto está relacionado con esta instancia, y luego la etiqueta cond_10, salto condicional que se realiza exactamente antes de crear una instancia de la clase:

If-ne p1, v0, :cond_10 .line 74 nueva instancia v0, Landroid/content/Intent; ... :cond_10

Lo más probable es que el programa calcule de alguna manera aleatoriamente si se debe mostrar publicidad en la pantalla principal y, en caso contrario, salte directamente a cond_10. Bien, simplifiquemos su tarea y reemplacemos la transición condicional por una incondicional:

#si-ne p1, v0, :cond_10 ir a:cond_10

No hay más menciones de FirstAd en el código, por lo que cerramos el archivo y volvemos a ensamblar nuestra antorcha virtual usando apktool. Cópialo en tu teléfono inteligente, instálalo y ejecútalo. Voila, toda la publicidad ha desaparecido, por lo que nos felicitamos a todos.

Resultados

Este artículo es sólo una breve introducción a los métodos para piratear y modificar aplicaciones de Android. Muchos problemas quedaron detrás de escena, como eliminar protección, analizar código ofuscado, traducir y reemplazar recursos de aplicaciones, así como modificar aplicaciones escritas usando NDK de Android. Sin embargo, tener conocimiento básico, es sólo cuestión de tiempo solucionar todo esto.




Arriba