查看Android/CyanogenMod 发烧笔记的源代码
←
Android/CyanogenMod 发烧笔记
跳转到:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
==== MIUI V5的病毒扫描去除 ==== 连上USB线到PC,手机系统“设置”里打开 “USB调试”, 打开病毒扫描应用,只有在其扫描的过程中,你用 top 才能发现 com.android.settings 这个关键系统应用的CPU占有率太异常了: <pre> $ adb shell top -n 1 -d 1 -m 10 -t User 27%, System 13%, IOW 0%, IRQ 0% User 29 + Nice 0 + Sys 14 + Idle 64 + IOW 0 + IRQ 0 + SIRQ 0 = 107 PID TID PR CPU% S VSS RSS PCY UID Thread Proc 3020 3020 0 21% S 334328K 75816K fg system ndroid.settings com.android.settings 6120 6120 0 7% R 1240K 600K root top top 185 332 0 3% S 44376K 23560K fg system SurfaceFlinger /system/bin/surfaceflinger 6109 6109 0 1% S 0K 0K root kworker/u:2 6114 6114 0 1% S 0K 0K root kworker/u:3 185 185 0 1% S 44376K 23560K fg system surfaceflinger /system/bin/surfaceflinger 185 765 0 0% S 44376K 23560K fg system Binder_3 /system/bin/surfaceflinger 4293 4293 0 0% S 0K 0K root kworker/0:0 185 360 0 0% S 44376K 23560K fg system Binder_1 /system/bin/surfaceflinger 185 358 0 0% S 44376K 23560K fg system EventThread /system/bin/surfaceflinger </pre> 在不开病毒扫描时,大部分情形下com.android.settings 的CPU占有为0% 因此,这个病毒扫描应该隐藏在 com.android.settings 这个关键系统应用中: <pre> $ adb shell dumpstate | grep -i virusscan Service com.android.settings.VirusScanService: Service com.android.settings.VirusScanService: 4: [2013-12-13 19:26:08.228] executeForLastInsertedRowId took 1ms - succeeded, sql="INSERT INTO applications ('_id', 'name', 'description', 'package', 'class', 'icon', 'launch_count', 'last_resume_time') VALUES (?, ?, ?, ?, ?, ?, COALESCE(?, 0), COALESCE(?, 0));", bindArgs=[null, "病毒扫描", "应用", "com.android.settings", "com.android.settings.VirusScanActivity", "android.resource://com.android.settings/drawable/virus_scan_icon", 27,1386933816654] 41246fb8 com.android.settings/.VirusScanActivity filter 41247298 41247698 com.android.settings/.VirusScanService filter 41247898 41247698 com.android.settings/.VirusScanService filter 41247898 com.android.settings.VirusScanAppActivity com.android.settings.VirusScanActivity: 1 starts, 500-750ms=1 com.android.settings.VirusScanActivity: 22 starts, 500-750ms=10, 750-1000ms=4 com.android.settings.VirusScanAppActivity: 14 starts, 0-250ms=6, 250-500ms=5, 500-750ms=1, 750-1000ms=1, >=5000ms=1 </pre> 原来确实丫是隐藏在核心应用 com.android.settings(设置)中的,真TM够毒的! 其是 com.android.settings 的一个 Activity,完整的 INTENT 为: "com.android.settings/.VirusScanAppActivity" 下面来探究探究: <pre> # 启动病毒扫描 $ adb shell am start -n "com.android.settings/.VirusScanAppActivity" Starting: Intent { cmp=com.android.settings/.VirusScanAppActivity } # 启动对应的 Service $ adb shell am startservice -n "com.android.settings/.VirusScanService" Starting service: Intent { cmp=com.android.settings/.VirusScanService } $ adb shell am kill-all com.android.settings # 此两条命令执行后,病毒扫描图标就从桌面消失了 $ adb shell pm disable -n "com.android.settings/.VirusScanActivity" Component {com.android.settings/com.android.settings.VirusScanActivity} new state: disabled $ adb shell pm disable -n "com.android.settings/.VirusScanAppActivity" Component {com.android.settings/com.android.settings.VirusScanAppActivity} new state: disabled #再想启动的话就会: $ adb shell am start -n "com.android.settings/.VirusScanAppActivity" Starting: Intent { cmp=com.android.settings/.VirusScanAppActivity } Error type 3 Error: Activity class {com.android.settings/com.android.settings.VirusScanAppActivity} does not exist. #当然,这只是软件关闭,其代码还是在 /system/app/Settings.apk 这个 APK 包中,如要彻底清除,可尝试解开 APK 包,移除 VirusScanApp.java 的代码 </pre> 更多 adb am 用法参考:http://developer.android.com/tools/help/adb.html#am <br><br>
返回到
Android/CyanogenMod 发烧笔记
。
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面