4 votes

Service de verrouillage d'écran en tant qu'administrateur de périphérique

Contexte :

J'ai regardé les administrateurs de mon téléphone dans les paramètres et j'ai vu un administrateur de périphérique appelé "service de verrouillage de l'écran". Sa description est la suivante : "L'activation de cet administrateur permettra à l'application Google play services d'effectuer les opérations suivantes : définir des règles de mot de passe".

Une question précédemment non résolue est trouvée aquí .

J'ai cherché sur le net le fichier apk de l'application mais je ne l'ai pas trouvé. Donc, selon les suggestions, j'ai exécuté

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

Le résultat du code ci-dessus est le suivant :

  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:

Les données relatives au code sont assez troublantes, car aucune ne semble correspondre à l'un ou l'autre de ces codes. service de verrouillage d'écran .
Pour référence, j'utilise le Moto G5 Plus (non rooté, version stock sans personnalisation).

Notez également que je possède un autre même qui est enraciné et fonctionne sous Pixel-Experience (Android 10 dernière version) et malheureusement il n'a pas la fonction d'enregistrement. Service de verrouillage d'écran .

Il serait utile de disposer d'un aperçu ou d'une analyse de cette application.

4voto

Firelord Points 23064

Les données relatives au code sont assez troublantes, car aucune ne semble correspondre au service de verrouillage de l'écran.

Je comprends que cela vous ait dérouté, car vous pensiez qu'une application ou un service portant le même nom fonctionnait sur le système et que vous auriez pu l'identifier assez facilement, mais ce n'était pas le cas.

L'administrateur de l'appareil "Screen Lock Service" (service de verrouillage de l'écran) est un service d'administration des appareils proposé par Services Google Play ( com.google.Android.gms ) app.

C'est ainsi que j'ai abordé le problème :

  1. J'ai recherché un appareil présentant ce problème. J'ai réussi à mettre la main sur un Xiaomi Redmi Note 5 fonctionnant sous Android 9 et dont le service administrateur était activé.

  2. Je suis allé de l'avant en désactivant l'administrateur du service de verrouillage de l'écran. En parallèle, j'ai eu logcat courir vers grep toute entrée commençant par "admin".

  3. Grâce à logcat, j'ai obtenu le résultat suivant lors de la désactivation de l'administrateur en question.

    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 est l'un des nombreux administrateurs de périphériques mentionnés dans la sortie de la commande adb shell dumpsys package resolvers | sed -n /android.app.action.DEVICE_ADMIN_ENABLED/,/:/p et est également mentionné dans votre résultat.

  5. J'ai décidé de vérifier davantage en extrayant l'apk de Google Play Services et en la décompilant. Dans le fichier AndroidManifest.xml décompilé, l'entrée pertinente pour cet administrateur d'appareil était la suivante :

    <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. J'ai utilisé les informations de l'étape 6 pour obtenir trois choses :

    • l'étiquette de l'administrateur de l'appareil en res/values/string.xml :

      <string name="auth_device_admin_receiver_label">Screen lock service</string>
    • la description de l'administrateur de l'appareil dans 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>
    • l'icône de l'administrateur de l'appareil dans res/drawable-xhdpi/product_logo_security_shield_color_24.png :

      enter image description here

  7. Pour ce qui est de la désactivation. Bien que vous puissiez le désactiver, un redémarrage le réactive automatiquement sans intervention de l'utilisateur. Il me semble que com.google.android.gms.persistent est responsable de cette situation. Non seulement ce processus est mentionné dans le manifeste, mais lors de l'analyse du journal, c'est lui qui a déclenché l'activation automatique du service de verrouillage de l'écran. Logcat pertinent du processus de post-démarrage :

     [ 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

Résumé

  1. Le service de verrouillage d'écran est une fonctionnalité de l'application Google Play Services destinée à l'administrateur de l'appareil.

  2. Si vous le désactivez, l'application Google Play Services le réactivera sans demander votre authentification.

  3. Son rôle n'est pas encore documenté sur Google Support / Answers.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X