Qu'est-ce que com.Google.Android.gms.persistant et pourquoi utilise-t-il toujours le CPU?

même quand rien d'autre ne se produit ce processus de système semble utiliser un 1-2% régulier du CPU. Au cours de la journée, cela draine une quantité importante de batterie, même si l'appareil n'a pas été utilisé pour quoi que ce soit. Je n'ai pas été en mesure de le corréler avec d'autres applications parce que même si elles n'ont utilisé que quelques secondes de temps CPU chacune au cours de plusieurs heures ce processus utilise des minutes.

Il semble toujours fonctionner même si j'ai:

  • désactiver WiFi
  • désactiver le BlueTooth
  • arrêt des services de localisation
  • éteignez tout sauf le strict minimum de synchronisation (par exemple GMail)

j'ai écrit une petite application de test qui surveille /proc/<pid>/stat toutes les 10ms et écrit à logcat tout moment com.google.android.gms.persistent, en espérant qu'il écrirait quelque chose à logcat lui-même qui permettrait de déterminer quelle application ou autre service utilise "persistant" pour ses services. Je ne vois pas beaucoup, mais voici quelques choses que j'ai voir:

InputReader: Reconfiguring input devices.  changes=0x00000010
WifiService: acquireWifiLockLocked: WifiLock{NlpWifiLock type=2 binder=android.os.BinderProxy@f73f0b8}
LocationFilter: Forcing stable location. Original location:Location[...
ConnectivityService: notifyType CAP_CHANGED for NetworkAgentInfo [WIFI () - 246]

chaque ligne ci-dessus était à un moment différent, précédant immédiatement (dans les 10ms de) un message de journal détectant L'utilisation du CPU par com.google.android.gms.persistent mais sans indication claire si elle est liée ou non. Malheureusement, aucun des Rapports Ci - dessus plus de 10ms de temps CPU pris, et donc-même si précise en indiquant ce qui utilise "persistante" ne représente qu'une petite partie du temps CPU réel utilisé.

autres recherches sur l'utilisation de ce procédé ont suggéré diverses choses (comme les vêtements) je n'en ai pas et n'ai jamais eu connecté à mon appareil.

qu'est-Ce que l'utilisation de ce processus? Je cherche soit ces informations directement, soit d'autres moyens de déduire ces informations similaires à mes tentatives via logcat.

mise à jour: j'ai cherché la source (par exemple com.Google.Android.gms.persistant.java ou quelque chose comme ça) sur https://android.googlesource.com sans un peu de chance. Cela ne fait-il pas partie du code source public? Ce qui est vraiment étrange, c'est qu'il ne semble même pas y avoir de documentation, par exemple ici: https://android.googlesource.com/platform/frameworks/base/+/33fca8e/docs/html/reference/com/google/android/gms

mise à jour 2: j'ai désactivé toute synchronisation sous Paramètres - > Comptes. Cela semble réduire L'utilisation de CPU un peu plus, et la chute de la batterie semble avoir chuté à un crawl-sauf périodiquement com.Google.Android.gms.persistante il semble qu'il faille encore une rafale de CPU.

ma théorie de travail est maintenant qu'il a une alarme qui se déclenche à des intervalles d'environ 60 secondes, que ce soit nécessaire ou non, et que le code vérifie pour le travail de synchronisation, et si rien n'a besoin d'être synchronisé, il donne la tranche de temps immédiatement et laisse le CPU aller droit au Sommeil. Cependant, je ne peux pas à moitié croire qu'un design aussi horrible serait utilisé, car tout ce qui réveille le CPU chaque minute est sûr de drainer le batterie beaucoup plus rapide, même si elle se rendort, et pourquoi les sondages seraient-ils utilisés au lieu de quelque chose d'interrompu pour la synchronisation de toute façon?

autant que je puisse dire (à cause de ne pas pouvoir le trouver) le code source pour com.Google.Android.gms.persistent n'est pas open source ou disponible en ligne où que ce soit. Si je me trompe, j'accepterai comme réponse à ma question, toute réponse qui indiquerait le code source car je pourrais le parcourir et déterminer pour moi-même pourquoi le CPU utilisation.

29
demandé sur Michael 2016-04-18 22:16:49

2 réponses

ce n'est pas un virus ou un cheval de Troie. c'est le processus de service google play qui doit exécuter correctement les services Google play sur la plate-forme Android. En fait, c'est le processus principal fonctionne en arrière-plan, il est utile de prendre en charge les applications et lié avec google Play store et de les garder à jour et fournir d'autres fonctionnalités de service google play. En ce qui concerne les utilisations de CPU beaucoup d'autres applications trop exécuter dans les milieux et de prendre des ressources, mais il est pour les tenir à jour et vous fournir en temps réel mieux service.

1
répondu Mohit Dixit 2017-08-10 06:36:41

selon David Bisson:

Le dernier membre d'une célèbre famille de chevaux de troie Android téléchargements et lance des applications malveillantes l'insu de l'utilisateur infectés dispositifs,selon les chercheurs à l'anti-virus russe entreprise Dr Web.

le malware, connu sous le nom " Android.Xiny.60," est originaire de la même famille que Android.Xiny.19.origine, qui a fait sa grande entrée en janvier 2016.

À l'époque, Xiny s'est caché dans plus de 60 jeux disponibles en téléchargement de la boutique Google Play officielle, et utilisé des instructions relayées à il Sous la forme de fichiers image modifiés par stéganographie pour exécuter fichiers APK arbitraires.

jeux androïdes infectés

comme le rapporte Softpedia, les dernières versions du xiny trojan besoin de tromper les utilisateurs dans l'octroi de privilèges admin it, mais à la place déployer des exploits pour root l'appareil.

une fois le malware lance, il charge ses composants malveillants et les sauve dans les répertoires système. Le cheval de Troie peut utiliser ceux les éléments à faire toutes sortes d'ennuis.

par exemple, Xiny peut injecter des processus malveillants dans les applications de chat IM, espionner les conversations et même envoyer des messages sans l'utilisateur autorisation. En outre, le malware cible les applications bancaires, et peut afficher de fausses pages de connexion pour voler les noms d'utilisateurs et les mots de passe.

comme le Dr Web l'explique dans un blog post:

"Le cheval de troie lance l'igpi module (Android.Xiny.61) qui utilise le fonction ptrace pour injecter l ' igpld.ainsi, la bibliothèque Linux exécutable (Android.Xiny.62) dans les processus système de Google Play (COM.Android.vente) et les services Google Play (COM.Google.Android.gms, co.Google.Android.gms.persistante) application."

le malware peut également injecter Android.Xiny.62 dans le zygote, un crucial Processus Android dont l'infection permet troyen pour lancer nouveau applications et logiciels malveillants supplémentaires.Pendant tout ce temps, Android.Xiny.Soixante attend un chargeur à être détecté, l'écran d'accueil pour activer ou désactiver, ou plusieurs autres événements spécifiques à se produire. Chaque fois que l'un de ces les événements ont lieu, le cheval de troie se reconnecte à son commande-et-contrôle du serveur et envoie toutes sortes d'informations sur l'appareil de base de la maison.

les utilisateurs Android doivent travailler pour se protéger contre toutes les versions de la Android.Xiny malware en maintenant un antivirus à jour solution, en lisant les avis des applications avant qu'ils ne les installent, et vérifier pour s'assurer d'une application autorisations demandées jives avec ses annoncé fin.

il y a peu d'applications légitimes qui nécessitent des privilèges root, donc attention des imposteurs à la recherche de droits qu'ils ne méritent pas!--3-->

-1
répondu True258 2017-05-20 16:41:56