7 votos

Averiguar los intentos que una aplicación utiliza internamente

Tengo una aplicación ( Herramientas inteligentes ) que consta de múltiples subapps distintas. Me gustaría tener un acceso directo para una sola subapp, para no tener que abrirla a través del menú principal de la aplicación.

Estoy bastante seguro de que la aplicación utiliza alguna emisión de intención específica para abrir cualquiera de las subapps. Sé que Tasker puede utilizarse para emitir una intención personalizada al sistema Android. Si entiendo bien, si simplemente imito la intención que el menú principal de Smart Tools utiliza para invocar la subapp específica, podría iniciar la subapp directamente con un acceso directo de Tasker.

Pero para eso, necesito ser capaz de imitar la intención. Ya que Smart Tools no es de código abierto, ¿Cómo puedo saber qué intención utiliza la aplicación "internamente"?

5voto

ce4 Puntos 11180

La solución más fácil: Pregúntale al desarrollador.

Razón: Es la fuente más fiable si responde. No puede decir fácilmente qué parámetros establecer y si incluso está permitido iniciar otras actividades desde su propio "lanzador de intenciones" (ya sea Tasker u otra cosa).

Le he echado un vistazo rápido, es una aplicación de pago y un pequeño dev. A menudo esos desarrolladores se preocupan de verdad y responden rápidamente, sobre todo si se trata de una app de pago. Lo hice con Titanium Backup en el pasado y me sorprendió positivamente lo fácil que fue.

Si tiene la información, también puede utilizar el Atajos manuales de intención para crear un lanzador personalizado.

Google Play tiene un botón de "contacto con el desarrollador" justo debajo de la descripción general de (la mayoría) de las aplicaciones. Si echas un vistazo a las herramientas inteligentes, verás que está ahí: androidboy1 (at) gmail com

Lo que también podrías hacer:

La UC Berkeley tiene un proyecto genial:
ComDroid . Una herramienta de análisis estático para identificar las vulnerabilidades de las aplicaciones basadas en la comunicación

Es un servicio web al que puedes subir tu .apk. (Como haces una pregunta avanzada supongo que sabes cómo conseguir el apk de tu aplicación). Después de la subida busca en el análisis Lanzamiento de actividad maliciosa Esta es la información que desea. Puede que tenga la suerte de mal uso con Tasker, etc.

4voto

user4417792 Puntos 1

Puedes utilizar adb para comprobar qué intents utiliza una aplicación. Los pasos para hacerlo son:

  • Activar las opciones del desarrollador
  • En las opciones de desarrollador activa la depuración adb
  • Conectar el teléfono al ordenador
  • Obtenga los registros de adb y busque los intentos: adb logcat | fgrep -i intent
  • Activa la intención en tu teléfono
  • Inspeccionar los registros para encontrar los detalles de la intención

3voto

samt Puntos 633

Es necesario tener la manifest.xml del APK. Si renombras el .apk a un .zip podrás abrirlo. Espero que puedas leer el Manifiesto, de lo contrario tendrás que descompilar el APK (hay muchos tutoriales en línea)

Entonces tienes que buscar los Intentos que escucha y usar eso. O usar el nombre del componente y lanzarlo explícitamente. Cómo hacer esto en Tasker es desconocido para mí, para hacerlo programáticamente:

Intent intent = new Intent();
intent .setComponent(new ComponentName("com.package.name","com.package.name.activity"));
startActivity(intent);

3 votos

apktool ( code.google.com/p/Android-apktool ) es una forma mucho mejor de hacer esto que descomprimir. Los manifiestos suelen estar en formato binario, que apktool extraerá.

2voto

Izzy Puntos 45544

Si tu dispositivo está rooteado, puedes instalar Gestor de ejecución automática del mercado (para buscar sólo los oyentes, la versión gratuita también sirve). Utiliza su modo avanzado - y allí aparecerá una lista de todas las aplicaciones que tienen escuchadores (que escuchan las intenciones). Toca la aplicación que quieras investigar y se mostrarán todos los escuchadores de intenciones registrados. Ahora puedes incluso desactivar las que te molestan (por ejemplo, el servicio de escucha de Google Maps en caso de cambio de red para husmear en tu ubicación).

1voto

kyle k Puntos 137

Yo usaría un descompilador Dexplorer mira en el archivo de manifiesto, tendrá los intentos que la aplicación utiliza.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X