Comment désinstaller une application Rogue Home (Launcher)?

16

Si vous deviez installer une application d'écran d'accueil qui ne vous donne pas accès à l'écran Paramètres système (pour aller à Gérer les applications), et ne vous permet pas non plus de lancer des applications (telles que l'application Market ou l'installation / la désinstallation tierce), existe-t-il un moyen de désinstaller une telle application?

Je sais qu'Android nécessite votre autorisation avant de laisser une nouvelle application prendre le contrôle de l'écran d'accueil. Mais disons que vous essayez une application Launcher nouvellement publiée qui est boguée (ou malveillante). Bien sûr, vous allez toujours dire à Android qu'il est autorisé de donner à cette application le privilège de l'écran d'accueil. Maintenant, une fois qu'il est installé, votre téléphone est désormais inutile?

Existe-t-il un moyen pour un utilisateur final typique (qui n'a pas Eclipse / ADB) de sortir de cette situation? Autre que de faire une réinitialisation d'usine complète?

Je me rends compte qu'il existe des moyens de désinstaller une application via ADB ("adb uninstall package.name")

Mais il semble qu'un utilisateur final typique soit potentiellement foutu s'il installe une telle application malveillante / buggy. Cela semble être un trou de sécurité béant dans Android, non?

jpeskin
la source
Je dirais supprimer l'application de la carte SD, si elle y était installée, mais je pense que cela a été mentionné auparavant avec une meilleure solution.
glasnt
@glasnt Suggestion utile, mais je m'interroge principalement sur le cas où le lanceur est installé sur le stockage local, pas sur SD. Merci.
jpeskin
@glasnt: Le lanceur n'est généralement pas installable sur la carte SD car un lanceur doit être disponible lorsque la carte SD est retirée.
Lie Ryan
Une situation comme celle-ci s'est produite récemment en raison d'une erreur de développeur plutôt que de malveillance. Vous pouvez trouver de bonnes informations dans cette question: android.stackexchange.com/questions/4910/…
ale

Réponses:

13

Démarrez votre appareil en MODE SAFE puis désinstallez l'application qui pose problème. Le redémarrage quittera le mode sans échec. Voici comment accéder au MODE SAFE sur quelques appareils populaires.

Appareils HTC avec boutons physiques:

  • Éteignez votre téléphone Android.
  • Appuyez sur le bouton Menu de votre téléphone.
  • Tout en maintenant le bouton Menu enfoncé, allumez votre appareil et continuez d'appuyer sur le bouton Menu jusqu'à ce que vous voyiez l'écran de verrouillage.
  • «Le mode sans échec devrait maintenant être imprimé dans le coin inférieur gauche de votre écran. En mode sans échec, Android ne charge aucune application tierce et vous pouvez désinstaller l'application qui vous a posé problème dans Paramètres> Applications> Gérer les applications.

Nexus One:

  • Éteignez votre Nexus. Retirez la batterie si cela ne peut pas être fait normalement.
  • Appuyez sur le bouton d'alimentation pour démarrer votre téléphone, et à droite lorsque le logo apparaît, appuyez et maintenez la boule de commande. Vous devriez également être en mesure de maintenir enfoncé le bouton Menu tactile à ce stade, si vous préférez.
  • Continuez à appuyer jusqu'à ce que vous voyiez l'écran de verrouillage, et vous devriez maintenant être en mode sans échec.

Motorola Droid

  • Éteignez votre Droid et ouvrez le clavier matériel.
  • Appuyez simultanément sur le bouton d'alimentation et sur le bouton Menu du clavier.
  • Maintenez la touche Menu enfoncée jusqu'à ce que vous voyiez «Droid Eye» et que vous sentiez votre téléphone vibrer.
  • Votre Droid devrait démarrer et dire «Mode sans échec» dans le coin inférieur gauche de l'écran.

Samsung Galaxy S

  1. Éteignez le téléphone.

  2. Rallumez le téléphone tout en maintenant enfoncé le bouton Menu.

  3. Maintenez le bouton Menu enfoncé jusqu'à ce que l'écran d'accueil se charge. Le coin inférieur gauche devrait indiquer Mode sans échec.

Sparx
la source
excellente réponse. Cela permet en effet de désactiver une application domestique malveillante "test" que j'ai développée pour explorer ce problème. Je vous remercie.
jpeskin
8

Pour créer un tel lanceur malveillant, il devra:

  1. Désactiver les paramètres> Applications> Gérer les applications
  2. Désactiver les paramètres> Applications> Développement> Débogage USB
  3. Désactiver le marché (pour vous empêcher de télécharger les applications Home Switcher)
  4. Empêchez l'ouverture de toutes les autres applications de type lanceur (sinon vous pouvez simplement démarrer l'autre lanceur et accéder aux paramètres à partir de là)
  5. Désactiver une application de type émulateur de terminal (pour empêcher la désinstallation en pmou rm-ing le .apk)
  6. ...autres?

Cela semble être un trou de sécurité béant dans Android, non?

Non. Lorsque les experts en sécurité parlent d'un système ayant une bonne sécurité, ils ne parlent pas d'un utilisateur stupide faisant une chose stupide à son système. Un utilisateur stupide accordant des privilèges injustifiés à un programme non fiable sont des problèmes sociaux, pas un problème de sécurité.

Linux (et Android) n'est pas sécurisé car il est impossible de gâcher le système (vous pouvez très facilement taper sudo rm -rf /). Linux est sécurisé car un programme malveillant ne peut pas gâcher le système sans l'autorisation de l'utilisateur et un utilisateur ne peut pas gâcher le système à moins qu'il n'ait le privilège approprié pour gâcher le système (un utilisateur avec un privilège root peut gâcher le système par milliers de façons).

Contrairement à certains autres systèmes d'exploitation, Linux (et Android) n'essaie pas de protéger l'utilisateur de faire quelque chose de stupide (car une telle protection empêcherait également les utilisateurs expérimentés de faire quelque chose d'intelligent). Il suivra aveuglément votre commande lorsque vous lui direz de se détruire (tant que l'utilisateur a le privilège de commander au système de se détruire).

La première conférence sudoers de sudo qui suit résume la manière Unix / Linux de la sécurité:

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.

Dans tous les cas, si un tel lanceur malveillant arrive sur le marché, nous pouvons être sûrs que Google le supprimera immédiatement du marché sans délai (et émettra probablement une commande de désinstallation à distance). Et si vous installez un tel lanceur depuis l'extérieur du marché, alors vous n'êtes pas un "utilisateur typique", vous êtes responsable du vôtre si vous installez des programmes depuis l'extérieur du marché.

Lie Ryan
la source
D'accord, j'espère que les commentaires et les notes dissuaderont les autres d'utiliser une telle application si elle existait.
Bryan Denny
1
Ce n'est pas toujours vrai - je voudrais faire référence à l'incident où l'application populaire écran d'accueil LauncherPro "a expiré". Ceux qui n'avaient pas mis à jour vers une version plus récente ont été verrouillés et ont dû utiliser un moyen détourné pour revenir et télécharger une nouvelle mise à jour. Le développeur a reconnu son erreur et a abandonné l'idée de mettre une "bombe à retardement" dans son application.
Sparx
1
Votre liste de choses qu'un lanceur malveillant doit désactiver est trompeuse. Lorsque vous créez un remplacement d'application de lancement, ces éléments sont tous désactivés par défaut. Vous devez réellement inclure délibérément l'accès aux paramètres dans votre lanceur. Votre argument sur le fait que cela est techniquement un problème d'utilisabilité et non un problème de sécurité est juste. Mais cela ne fait pas disparaître ce grave problème d'utilisation. Android protège judicieusement (en refusant root) l'utilisateur de faire beaucoup de choses stupides. Éduquer le monde est irréaliste. Des problèmes comme ceux-ci peuvent être résolus (par exemple, le MODE SAFE mentionné ci-dessous).
jpeskin
@jpeskin: Vrai, mais si une application de l'écran d'accueil n'a pas de liste d'applications (qui, sauf si elle est spécifiquement désactivée, inclut Settings.apk et d'autres éléments); alors la plupart des utilisateurs ne seraient pas aussi stupides de cocher la case "Définir par défaut" et ils pourraient revenir à leur ancien écran d'accueil en appuyant sur le bouton Accueil. Cela signifie qu'un écran d'accueil vraiment malveillant doit inciter l'utilisateur à cocher la case "Définir par défaut", ce qui n'est possible qu'en présentant une liste d'applications (et en espérant que l'utilisateur n'a pas remarqué que toutes les applications pouvant être utilisées pour changer les écrans d'accueil sont disparu).
Lie Ryan
@jpeskin: Le cas avec LauncherPro est intéressant, car c'est une très belle application d'écran d'accueil qui est devenue voyou en raison d'un bogue dans le code d'expiration, et le bogue n'apparaît que quelques temps après son installation (ce qui signifie que la plupart des gens auraient vérifié la valeur par défaut). Mais cet incident met en évidence qu'en raison de la position spéciale de l'écran d'accueil (en tant qu'application qui "possédait" le bouton Accueil), un écran d'accueil malveillant peut causer du chagrin aux utilisateurs et prendre pratiquement le contrôle de l'appareil. Nous verrons si Google fera quelque chose à ce sujet dans les prochaines versions.
Lie Ryan
5

Pour "l'utilisateur final typique", les moyens les plus simples sont probablement:

Si le "voyou" a été installé à partir de Google Play:

  1. Sur un ordinateur, ouvrez le site Web Play Store avec votre navigateur Web préféré
  2. Connectez-vous avec les informations d'identification de votre compte Google
  3. Cliquez sur l'onglet "Mes applications Android" en haut à droite de la page
  4. Recherchez votre application "voyou"
  5. Appuyez sur le symbole de la poubelle à côté

Cela désinstallera l'application sélectionnée. Bien sûr, cela ne fonctionne que pour les applications installées via Google Play.

Si vous avez chargé le "voyou" (installé à partir d'une autre source)

Si vous avez chargé le "voyou", vous aurez besoin de quelques étapes supplémentaires. Suivez 1 + 2 de la liste ci-dessus, puis ...

  1. Rechercher n'importe quelle autre application écran d'accueil / lanceur
  2. Appuyez sur le bouton "Installer" sur sa page
  3. Si vous avez plusieurs appareils connectés à ce compte Google, sélectionnez celui avec l'application escroc
  4. Appuyez sur "OK"
  5. Dans les prochaines minutes, le nouveau lanceur devrait être installé sur votre appareil. Jusque-là, vous pouvez l'activer périodiquement pour vous assurer qu'il reste «éveillé» (et connecté au réseau), ce qui pourrait accélérer un peu le processus.
  6. Une fois l'installation terminée, appuyez sur le Homebouton.
  7. Comme Android a remarqué la nouvelle application de lancement, une fenêtre contextuelle vous demandera de choisir le lanceur à démarrer. Sélectionnez le lanceur que vous souhaitez, mais pas celui qui n'est pas un voyou.
  8. Comme vous disposez désormais d'un lanceur entièrement fonctionnel, vous pouvez prendre les mesures habituelles pour supprimer l'application "voyou".
Izzy
la source