r17b r16 r13 ndk developers android android-ndk android-framework

android - r16 - ndk r13



Obtener el nombre del paquete y las firmas de uid/pid de la aplicaciĆ³n en el cliente nativo (1)

R1: Supongo que es posible escanear los directorios de las aplicaciones para el nombre del paquete y luego tratar de hacer coincidir el ID de usuario asociado en el código nativo. En Java, puedes usar getPackageForUid () .

A2: No he visto nada nativo para hacer esto. Acceder a archivos .apk arbitrarios de hecho no debería ser posible en un teléfono no rooteado.

A3: "Probablemente no" y "probablemente no" y: no veo cómo. La vinculación a un servicio remoto no proporciona información de autenticación del servicio; incluso si lo hizo: Cómo validar la firma sin acceso al contenido firmado, es decir, el .apk .

Editar:

La herramienta pm , como se menciona aquí , podría ayudar.

Este es mi primer proyecto en la plataforma de Android, y aún no me siento cómodo con este entorno.

Necesito escribir una aplicación nativa que pueda derivar el nombre del paquete de la aplicación y las firmas de [identificación de usuario de la aplicación y, pid de ejecutar la instancia de la aplicación].

He hojeado el framework de aplicaciones de Android y encontré que PackageManger tiene la capacidad de obtener firmas de paquetes. "..getPackageManager (). GetPackageInfo (packageName, GET_SIGNATURES) .."

pero, esto muestra la posibilidad de obtener firmas del nombre del paquete en la aplicación Java. como dije, nuestros parámetros de entrada son solo ID de usuario / ID de proceso de instancia en ejecución de la aplicación. y también necesito el cliente nativo, no la aplicación Java.

Mi pregunta puede dividirse en los siguientes.

  1. ¿Hay alguna forma de obtener el nombre del paquete de uid y pid de ejecutar la aplicación en el programa nativo? Si el cliente nativo no es posible, también se aceptan los métodos con Java.

  2. ¿Hay alguna forma de obtener firmas del nombre del paquete? Como dije, encontré una solución java para eso.

  3. ¿Es posible que un cliente nativo use el servicio Binder? ¿Este método ayudará a mis problemas? ¿si es así, cómo?

¡gracias por adelantado!