4 votos

Servicio de bloqueo de pantalla como administrador del dispositivo

Antecedentes:

Estaba mirando los administradores de dispositivos de mi teléfono en la configuración y vi un administrador de dispositivos llamado "servicio de bloqueo de pantalla". Su descripción es "La activación de este administrador permitirá a la aplicación Google play services realizar las siguientes operaciones: establecer reglas de contraseña".

Se encuentra una cuestión no resuelta anteriormente aquí .

He buscado en la red el archivo apk de la aplicación pero no he encontrado ninguno. Así que según las sugerencias, ejecuté

adb shell dumpsys package  resolvers | sed -n /android.app.action.DEVICE_ADMIN_ENABLED/,/:/p

La salida del código anterior fue:

  android.app.action.DEVICE_ADMIN_ENABLED:
    438a74 com.motorola.demo/.admin.DemoModeAdminReceiver
    2acd3de com.google.android.gms/.auth.managed.admin.DeviceAdminReceiver
    36b5d24 ch.deletescape.lawnchair.ci/ch.deletescape.lawnchair.gestures.handlers.SleepMethodDeviceAdmin$SleepDeviceAdmin
    42aae3e com.google.android.gms/.tapandpay.admin.TpDeviceAdminReceiver
    8efd08d com.google.android.gms/.kids.account.receiver.ProfileOwnerReceiver
    9b4f242 com.google.android.gms/.mdm.receivers.MdmDeviceAdminReceiver
    a9980b6 com.oasisfeng.greenify/.DeviceAdmin
    b5771b7 com.google.android.gm/com.android.email.SecurityPolicy$PolicyAdmin
  com.motorola.internal.intent.action.INETCONDITION_REPORT:

Los datos del código son bastante inquietantes por el hecho de que ninguno parece corresponder a servicio de bloqueo de pantalla .
Como referencia, estoy usando el Moto G5 Plus (no rooteado, build stock sin personalizaciones)

También hay que tener en cuenta que, soy dueño de otro mismo dispositivo que está rooteado y ejecuta Pixel-Experience (Android 10 última compilación) y, por desgracia, no tiene la Servicio de bloqueo de pantalla .

Una visión/desglose de esta aplicación es útil.

4voto

Firelord Puntos 161

Los datos del código son bastante inquietantes por el hecho de que ninguno parece corresponder al servicio de bloqueo de pantalla.

Puedo entender por qué te confundió, creyendo que habría una aplicación o un servicio ejecutándose con el mismo nombre en el sistema que habrías podido identificar con bastante facilidad, pero no pudiste.

El administrador del dispositivo "Servicio de bloqueo de pantalla" es un servicio de administración de dispositivos ofrecido por Servicios de Google Play ( com.google.Android.gms ) app.

Así es como abordé el problema:

  1. He buscado un dispositivo con este problema. Me las arreglé para conseguir un Xiaomi Redmi Note 5 con Android 9 que tenía este servicio de administrador habilitado.

  2. Seguí adelante con la desactivación del administrador del servicio de bloqueo de pantalla. De lado a lado, tuve logcat corriendo a grep cualquier entrada que empiece por "admin".

  3. A través de logcat obtuve la siguiente salida al desactivar dicho administrador.

    Device admin ComponentInfo{com.google.android.gms/com.google.android.gms.auth.managed.admin.DeviceAdminReceiver} removed from user 0
  4. com.google.android.gms/com.google.android.gms.auth.managed.admin.DeviceAdminReceiver es uno de los muchos administradores de dispositivos mencionados en la salida del comando adb shell dumpsys package resolvers | sed -n /android.app.action.DEVICE_ADMIN_ENABLED/,/:/p y también se menciona en su salida.

  5. Decidí verificar más allá sacando el apk de Google Play Services y descompilándolo. En el archivo AndroidManifest.xml descompilado, la entrada relevante para este administrador de dispositivos era esta:

    <receiver android:description="@string/auth_device_admin_receiver_description" android:enabled="false" android:exported="true" android:icon="@drawable/product_logo_security_shield_color_24" android:label="@string/auth_device_admin_receiver_label" android:name="com.google.android.gms.auth.managed.admin.DeviceAdminReceiver" android:permission="android.permission.BIND_DEVICE_ADMIN" android:process="@string/common_persistent_process" chimera:autoEnabled="false">
             <meta-data android:name="android.app.device_admin" android:resource="@xml/auth_password_complexity_device_admin"/>
             <intent-filter>
                 <action android:name="android.app.action.DEVICE_ADMIN_ENABLED"/>
                 <action android:name="android.app.action.DEVICE_ADMIN_DISABLED"/>
             </intent-filter>
  6. Utilicé la información del paso 6 para obtener tres cosas:

    • la etiqueta del administrador del dispositivo en res/values/string.xml :

      <string name="auth_device_admin_receiver_label">Screen lock service</string>
    • la descripción del administrador del dispositivo en res/values/string.xml :

      <string name="auth_device_admin_receiver_description">"<b>Allow apps to determine the quality of the device's screen lock</b>"</string>
    • el icono del administrador del dispositivo en res/drawable-xhdpi/product_logo_security_shield_color_24.png :

      enter image description here

  7. En cuanto a la desactivación. Aunque se puede desactivar, un reinicio lo vuelve a activar automáticamente sin intervención del usuario. Me parece que com.google.android.gms.persistent proceso es el responsable de ello. No sólo se menciona ese proceso en el Manifiesto, sino que además durante el logcat fue el proceso tras el cual tuvo lugar la auto-activación del Servicio de Bloqueo de Pantalla. Logcat relevante del proceso posterior al arranque:

     [ 10-01 19:59:17.126  3058: 7809 W/.gms.persisten ]
     Long monitor contention with owner lowpool[10] (7811) at void java.lang.ref.FinalizerReference.add(java.lang.Object)(FinalizerReference.java:56) waiters=0 in java.util.Map bggj.a() for 980ms   
    
    [ 10-01 19:59:17.163  3441: 7374 I/Auth     ]
    [AuthManaged, PasswordComplexityHelperImpl] Updating password complexity components state.
    
    [ 10-01 19:59:17.163  3441: 7374 I/Auth     ]
    [AuthManaged, PasswordComplexityHelperImpl] Enabling com.google.android.gms.auth.managed.ui.SetNewPasswordActivity
    
    [ 10-01 19:59:17.164  3441: 7374 I/Auth     ]
    [AuthManaged, PasswordComplexityHelperImpl] Enabling com.google.android.gms.auth.managed.admin.DeviceAdminReceiver

Resumen

  1. El servicio de bloqueo de pantalla es una función de administrador de dispositivos de la aplicación Google Play Services

  2. Si lo desactivas, la aplicación Google Play Services lo volverá a activar sin pedir tu autentificación.

  3. Su propósito no está documentado en Google Support / Answers por ahora.

0 votos

(+1) Buena respuesta y conclusiones. Más preguntas para responder: Mencionaste que sacaste el apk de los servicios de Google Play. La apk es del mismo dispositivo, o la sacaste de algún recurso online como apkmirror etc. ? Si se extrae de un recurso en línea, parece que el servicio debe ser proporcionada en todos los dispositivos....pero no es el caso (Cualquier razones / especulaciones por qué?). Y por último, es el Redmi Note 5 de la región de Asia-Pacífico (Una pregunta que puede inspeccionar si el servicio es específico de la región)

0 votos

1.) Todavía no he conseguido un +1. Jaja. 2) APK del mismo dispositivo. 3) Sí, de la región de la India. 4) No sé por qué sólo algunos dispositivos tienen este problema. Es más, es más frecuente en los dispositivos Moto, por los resultados de búsqueda básica de la web.

0 votos

Probablemente podrás ver mi +1 en SEDE después de una semana, pero para entonces puede que sea capaz de upvote :P lo más probable es que otorgue la recompensa aquí (así que eso hace +10)... ¿podemos desglosar el servicio (servicio de pantalla de bloqueo) más allá? o tal vez sólo decir cómo puedo ver el desglose de ese servicio específico? (lo que la respuesta proporcionada es que la aplicación/servicio habilitado por el administrador es implementado por Google Inc, pero quiero diseccionar el servicio en sí

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