Android Oreo cache de nombreux avantages, cette fois, nous avons découvert un moyen de modifier par programme le code PIN, le mot de passe ou le modèle de l'écran de verrouillage.
Android Oreo contient de nombreuses améliorations secrètes à première vue. Prise en charge du thème, notifications désactivées sur Android TV, latence de déverrouillage réduite et plus. Tous ces éléments font partie de l’historique des validations pour Oreo, c’est-à-dire. introuvable dans un journal des modifications officiel, mais nous avons découvert encore plus. L’une de ces découvertes est une commande permettant de modifier par programme le code PIN, le mot de passe ou le modèle de l’écran de verrouillage. Cela peut ne pas sembler utile à première vue, mais il existe quelques applications intéressantes pour cette commande que nous décrirons ci-dessous après vous avoir montré comment l'utiliser.
Avertissement: jouer avec ces commandes peut potentiellement vous verrouiller hors de votre appareil si vous ne faites pas attention. Tu étais prévenu. Il s'agit simplement de montrer les nouvelles commandes ajoutées par Google et également de vous montrer en théorie ce que vous pouvez en faire.
Ne plaisantez pas avec cela si vous ne pouvez pas vous permettre de perdre vos données, ou si vous n'êtes pas rooté. Si vous vous verrouillez accidentellement hors de votre appareil et que vous disposez de root, supprimez les fichiers suivants dans /data/system: gatekeeper.pattern.key, gatekeeper.password.key et tout autre fichier gatekeeper.Modification du code PIN, du mot de passe ou du modèle de l'écran de verrouillage par programme
Avec Android Oreo, quelques nouvelles commandes de débogage ont été ajoutées pour modifier les différentes méthodes de verrouillage de l'écran. Suivant cet engagement les commandes semblent être les suivantes. Notez que vous devez utiliser shell adb d'abord, car ceux-ci doivent être exécutés via le shell de l'appareil. Ces commandes sont utilisées pour définir le modèle, le code PIN ou le mot de passe de l'écran de verrouillage, mais comme vous pouvez le voir, vous pouvez également les effacer si vous en avez besoin.
locksettings set-pattern
locksettings set-pin
locksettings set-password
locksettings clear
Le rôle de ces commandes est assez évident. Un modèle est un peu différent, mais assez simple à comprendre. A titre d'exemple, pour un modèle comme celui de droite, la commande que vous utilisez est la suivante.
locksettings set-pattern 159
Les modèles sont définis en attribuant à chaque cellule un numéro, donc le coin supérieur gauche est "1", le milieu est "5" et le coin inférieur droit est "9". C'est ainsi que nous atteignons 159: il vous suffit de mapper la position de chaque point de motif en un nombre, comme s'il s'agissait d'un composeur T9.
À titre de remarque importante, tout code PIN, mot de passe ou modèle que vous définissez à l'aide de ces méthodes également met à jour le mot de passe de cryptage comme ce serait le cas si vous le définissiez dans les paramètres. Il existe un moyen de définir un mot de passe de cryptage différent de votre écran de verrouillage un, mais ce n'est pas recommandé à moins que vous sachiez ce que vous faites.
Le retour du TimePIN?
Un cas d'utilisation potentiellement intéressant sur les appareils rootés exécutant Android Oreo serait de recréer une application comme TempsPIN. Ce que TimePIN a fait, c'est qu'il a modifié dynamiquement le numéro PIN de l'écran de verrouillage pour qu'il soit l'heure actuelle, bien que vous puissiez le mélanger en inversant le numéro, en le décalant, etc. pour le rendre encore plus sécurisé. Par exemple, à 11h56, le code PIN serait 1156. S'il y a un décalage de -1003, la broche réelle serait 0153.
Avec la sortie d'Android Marshmallow, cette fonctionnalité a été interrompue lorsque les applications d'administrateur de l'appareil ne pouvaient plus modifier les mots de passe sur l'appareil. Mais grâce à ces nouvelles commandes, il devrait être possible de répliquer cette fonctionnalité sur un appareil rooté.
Nous avons créé un profil Tasker de preuve de concept basé sur ce concept! Nous vous déconseillons fortement de l'utiliser, car il a été assemblé assez rapidement et ne garantit pas qu’il fonctionnera parfaitement. Ne l'utilisez pas si vous souhaitez sérieusement une fonctionnalité de type TimePIN. Si vous êtes un développeur qui lisez cet article et pensez pouvoir en créer une application, soyez notre invité !
Vous pouvez télécharger le Projet Tasker d'ici. Importez-le en désactivant d'abord le mode débutant dans les préférences de Tasker, puis dans l'écran principal, appuyez longuement sur l'icône d'accueil en bas à gauche pour afficher l'option d'importation. Recherchez et importez le fichier .prj.xml. Pour le configurer, vous devrez suivre deux étapes :
- Accédez à l'onglet var dans Tasker et définissez votre code PIN actuel sur %OldPIN.
- Ouvrez la tâche pour le profil « Arrêt de l'appareil ». Dans l’action Exécuter Shell, ajoutez le code PIN de sauvegarde souhaité à la fin de la commande. Assurez-vous également qu'il y a un espace entre %OldPIN et votre code PIN de sauvegarde. Votre commande devrait ressembler à ceci: locksettings set pin --old %OldPIN 3523
Activez maintenant les deux profils.
N'oubliez pas que la modification actuelle du code PIN mettra également à jour le code PIN de cryptage, donc si vous n'y faites pas attention, vous risquez accidentellement de ne pas pouvoir décrypter les données de votre téléphone. Nous tenons à réitérer que ce qui précède est une preuve de concept que nous publions dans l'espoir qu'un développeur plus compétent puisse examiner cela correctement.
Conclure
Dans l'ensemble, il s'agit d'un développement intéressant qui peut être utile à ceux qui souhaitent créer des codes PIN dynamiques sur leur téléphone, ou peut-être même ceux qui ont besoin de sauvegarder leur téléphone si le débogage est laissé activé et autorisé sur un ordinateur. Le profil Tasker ci-dessus appelle simplement les commandes adb via le shell Android et peut ainsi modifier le code PIN comme le peuvent les commandes adb.