什么是com.google.android.gms.persistent以及为什么总是使用CPU?

时间:2016-04-18 19:16:49

标签: android android-6.0-marshmallow

即使没有其他任何事情发生,这个系统进程似乎使用稳定的1-2%的CPU。在一天的过程中,即使设备没有用于任何事情,也会耗尽大量的电池。我还没有能够将它与任何其他应用程序相关联,因为即使他们在几个小时的过程中只使用了几秒钟的CPU时间,这个过程也会花费几分钟。

即使我:

,它似乎仍在运行
  • 关闭WiFi
  • 关闭BlueTooth
  • 关闭位置服务
  • 关闭除了最简单的同步(例如GMail)之外的所有内容

我写了一个小测试应用程序,每隔10毫秒监视一次/proc/<pid>/stat并随时写入logcat com.google.android.gms.persistent,希望它会向logcat本身写一些内容,以便查明正在使用的应用程序或其他服务#34;持续性&#34;为其服务。我看不太多,但这里有一些我看到的东西:

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]

上面的每一行都是在一个不同的时间,紧接在com.google.android.gms.persistent之前检测CPU使用率的日志消息之前(在10ms内),但没有任何明确指示它是否相关。不幸的是,上述任何一个都没有报告超过10毫秒的CPU时间,所以 - 即使准确地表示正在使用什么&#34;持久性&#34;仅表示正在使用的实际CPU时间的一小部分。

其他尝试研究使用此过程的方法已经提出了我从未拥有并且从未连接到我的设备的各种事物(例如可穿戴设备)。

什么在使用这个过程?我正在寻找这些信息,或者我可以通过其他方式推断出类似于我通过logcat尝试的信息。

更新:我一直在寻找https://android.googlesource.com上的来源(例如com.google.android.gms.persistent.java或其他类似内容)而没有任何运气。这不是公共源代码的一部分吗?真正奇怪的是,它似乎甚至没有任何文档,例如在这里:https://android.googlesource.com/platform/frameworks/base/+/33fca8e/docs/html/reference/com/google/android/gms

更新2:我在“设置”下禁用了所有同步 - &gt;帐户。这似乎可以减少CPU的使用量,并且电池掉落似乎已经下降到爬行 - 除了定期com.google.android.gms.persistent似乎仍然需要一点CPU。

我现在的工作理论是,无论是否需要,它都会以大约60秒的间隔发出警报,并且该代码正在检查同步工作,如果不需要同步,它会放弃立即切片,让CPU正常入睡。然而,我中途无法相信会使用如此糟糕的设计,因为每分钟唤醒CPU的任何事情都会使电池耗尽更快,即使它只是重新入睡,为什么要投票是用来代替中断驱动同步的东西吗?

据我所知(由于无法找到),com.google.android.gms.persistent的源代码不是开源的,也不是在线提供的。如果我错了,我会接受作为我的问题的答案,任何指向源代码的答案,因为我可以浏览它并确定自己为什么CPU使用。

2 个答案:

答案 0 :(得分:1)

它不是病毒或特洛伊木马。谷歌播放服务流程需要在Android平台上正常运行Google Play服务。事实上,它是在后台运行的主要流程,它有助于支持应用程序并与谷歌游戏商店链接,并保持更新,并提供其他谷歌播放服务功能。关于CPU使用许多其他应用程序也在后台运行并获取资源,但它是为了让它们保持更新并为您提供更好的实时服务。

答案 1 :(得分:-2)

According to David Bisson

  

臭名昭着的Android木马下载系列的最新成员   并且在用户不知道受感染的情况下启动恶意应用程序   据俄罗斯反病毒公司Dr Web的研究人员称,这些设备已经出现。

     

这种被称为“Android.Xiny.60”的恶意软件来自同一个家庭   Android.Xiny.19.origin,在1月份重返盛大   2016。

     

当时,Xiny隐藏了超过60款可供下载的游戏   来自官方Google Play商店,并使用转发的说明   它以图像文件的形式通过隐写术修改运行   任意APK文件。

     

受感染的安卓游戏

     

正如Softpedia报道的那样,Xiny木马的最新版本没有   需要欺骗用户授予管理员权限,而是   部署漏洞来根设备。

     

恶意软件启动后,会加载恶意组件   将它们保存到系统目录中。木马可以使用那些   这些因素会带来各种麻烦。

     

例如,Xiny可以将恶意进程注入IM聊天应用程序,   窥探对话甚至在没有用户的情况下发送消息   允许。此外,恶意软件的目标是银行应用程序,并且可以   显示伪造的登录页面以窃取用户名和密码。

     

正如Web博士在博客中解释的那样:

     

“该木马启动了使用该功能的igpi模块(Android.Xiny.61)   ptrace函数注入igpld.so可执行Linux库   (Android.Xiny.62)进入Google Play的系统进程   (com.android.vending)和Google Play服务   (com.google.android.gms,co.google.android.gms.persistent)   应用。“

     

恶意软件还可以将Android.Xiny.62注入到受精卵中,这是至关重要的   Android进程的感染允许木马启动新的   应用程序和其他恶意软件。所有的一切,Android.Xiny.60   等待检测到充电器,主屏幕打开或关闭,   或其他几个特定事件。每当其中之一   事件发生,木马连接回来   命令和控制服务器并发送有关的各种信息   设备到家庭基地。

     

Android用户应该努力保护自己免受所有版本的攻击   通过维护最新的防病毒软件来保护Android.Xiny恶意软件   解决方案,在安装应用程序之前阅读应用程序的评论,以及   检查以确保应用程序的请求权限与其一致   广告的目的。

     

如果任何合法应用程序确实需要root权限,那么请注意   寻找权利的冒名顶替者不应该