1. 通知栏下拉拉不下来
这个问题是我查第二个问题的时候,顺带发现的。
2. 打开常用APP时,出现弹窗广告
现象就是,你打开你常用的APP,突然出现一个广告弹出框,提示你下载**应用。当你不小心点击这个广告的时候,它在后台自动给你下载应用,等你反应过来,已经是该应用的安装提示界面了。(Fiddler抓包显示,这里是从腾讯广点通系统下载APP。)
我一开始就发现,这个弹窗广告肯定是利用了系统级弹出框,但却总是查不出到底是谁弹出来的。
一个偶然的机会,我通过adb shell命令,然后输入top查看当前运行进程,看到一个异常的进程。
com.nqmobile.livestore.ztemf32
印象中我没安装过类似的APP,而从名称来看(包名含有zte),我怀疑这是一个预装应用。
本能的,我在百度中查了两个关键字 “nqmobile” 和 “中兴 广告弹窗".
于是,我猜想,这应该是网秦给ZTE(中兴手机)做的定制应用,并被预装在手机中。
进一步的搜索显示,这款应用就是LauncherSDK。
综合以上证据得出结论:LauncherSDK是由网秦为ZTE开发的应用,主要入口在桌面-在线美化。该应用采用了腾讯广点通广告系统
三、深入追踪
定位之后,就好办了。
1. 点击在线美化,通过Fiddler抓包。
没错,就是这个网站:
//cdn-livecn.nq.com/
页面显示,这是一个xml,里面的内容真是丰富,有图片,zip压缩包,还有apk!!!
2. 分析LauncherSDK的APK包
反编译结果显示:
这货拥有各种高级权限,权限数量也是多的惊人:
uses-permission: name='com.android.launcher.permission.INSTALL_SHORTCUT'
uses-permission: name='com.android.launcher.permission.UNINSTALL_SHORTCUT'
uses-permission: name='android.permission.INTERNET'
uses-permission: name='android.permission.ACCESS_WIFI_STATE'
uses-permission: name='android.permission.ACCESS_NETWORK_STATE'
uses-permission: name='android.permission.WRITE_MEDIA_STORAGE'
uses-permission: name='android.permission.WRITE_EXTERNAL_STORAGE'
uses-permission: name='android.permission.MOUNT_UNMOUNT_FILESYSTEMS'
uses-permission: name='android.permission.READ_PHONE_STATE'
uses-permission: name='android.permission.SET_WALLPAPER'
uses-permission: name='android.permission.DOWNLOAD_WITHOUT_NOTIFICATION'
uses-permission: name='android.permission.INSTALL_PACKAGES'
uses-permission: name='android.permission.SEND_SMS'
uses-permission: name='android.permission.RECEIVE_SMS'
uses-permission: name='android.permission.RECEIVE_BOOT_COMPLETED'
uses-permission: name='android.permission.INTERNET'
uses-permission: name='android.permission.ACCESS_NETWORK_STATE'
uses-permission: name='android.permission.ACCESS_WIFI_STATE'
uses-permission: name='android.permission.READ_PHONE_STATE'
uses-permission: name='android.permission.ACCESS_WAKE_LOCK'
uses-permission: name='android.permission.VIBRATE'
uses-permission: name='android.permission.READ_SETTINGS'
uses-permission: name='android.permission.WRITE_SETTINGS'
uses-permission: name='android.permission.WRITE_SECURE_SETTINGS'
uses-permission: name='android.permission.GET_TASKS'
uses-permission: name='android.permission.WRITE_EXTERNAL_STORAGE'
uses-permission: name='android.permission.READ_EXTERNAL_STORAGE'
uses-permission: name='android.permission.MOUNT_UNMOUNT_FILESYSTEMS'
uses-permission: name='android.permission.WRITE_MEDIA_STORAGE'
uses-permission: name='android.permission.DOWNLOAD_WITHOUT_NOTIFICATION'
uses-permission: name='android.permission.INSTALL_PACKAGES'
uses-permission: name='android.permission.DELETE_PACKAGES'
uses-permission: name='android.permission.RESTART_PACKAGES'
uses-permission: name='android.permission.GET_PACKAGE_SIZE'
uses-permission: name='android.permission.REMOVE_TASKS'
uses-permission: name='android.permission.CLEAR_APP_CACHE'
uses-permission: name='android.permission.CLEAR_APP_USER_DATA'
uses-permission: name='android.permission.READ_OWNER_DATA'
uses-permission: name='android.permission.WRITE_OWNER_DATA'
uses-permission: name='android.permission.ACCESS_BACKGROUND_SERVICE'
uses-permission: name='android.permission.KILL_BACKGROUND_PROCESSES'
uses-permission: name='com.android.launcher.permission.INSTALL_SHORTCUT'
uses-permission: name='com.android.launcher.permission.UNINSTALL_SHORTCUT'
uses-permission: name='android.permission.SYSTEM_ALERT_WINDOW'
uses-permission: name='android.permission.FORCE_STOP_PACKAGES'
uses-permission: name='android.permission.DISABLE_KEYGUARD'
uses-permission: name='android.permission.WAKE_LOCK'
uses-permission: name='android.permission.INJECT_EVENTS'
uses-permission: name='android.permission.ACCESS_COARSE_LOCATION'
uses-permission: name='android.permission.ACCESS_FINE_LOCATION'
uses-permission: name='android.permission.READ_LOGS'
uses-permission: name='android.permission.CHANGE_CONFIGURATION'
uses-permission: name='android.permission.BATTERY_STATS'
uses-permission: name='android.permission.GET_ACCOUNTS'
uses-permission: name='android.permission.GET_TOP_ACTIVITY_INFO'
uses-permission: name='android.permission.READ_CALL_LOG'
uses-permission: name='android.permission.READ_SMS'
uses-permission: name='android.permission.WRITE_SMS'
uses-permission: name='android.permission.EXPAND_STATUS_BAR'
好了,暂时就扒到这里啦。
有更多细节会继续补充。