锁屏软件是安卓手机端最常用的应用之一,一款好的锁屏软件能够防止用户误输入,误拨打,误上网等等,可以给用户带来非常好的体验。 
      但试想,如果锁屏软件让你都不能解锁了呢?近期阿里钱盾技术团队接到用户反馈,下载了一款非常可爱的应用“亲爱的、我爱你”之后,手机彻底不能用了。

流氓锁屏应用难以抵挡的萌与诱惑

1. 以萌与诱惑为名,流氓手机软件诱导运行

 


android恶意锁屏 安卓手机流氓锁屏_悬浮窗口


 


android恶意锁屏 安卓手机流氓锁屏_悬浮窗口_02



      该软件通过使用“萌动”的图片和“诱惑性”的语言,诱导用户进行一步步的点击。

2. 流氓应用运行后,屏蔽所有界面点击操作


 

android恶意锁屏 安卓手机流氓锁屏_android恶意锁屏_03



      运行后,软件不断刷新其悬浮窗口,强制霸占系统顶层界面,屏蔽用户的界面操作,致使用户的无法正常使用系统。


      普通用户无法进行任何操作,所有的界面点击操作(包括返回键和主菜单等键盘)全部失效,只有关机重启键和控制音量等按钮可以操作。在此种情况下,即使强制重启,在系统弹出关机和重启确认界面后,也会因为无法进行界面点击确认操作,进而无法进行正常重启和关机。该软件还具备自启动功能,因此强制断电重启后,普通用户也很难清除该软件。



阿里钱盾率先查杀该类流氓应用

      目前针对这一流氓手机应用,阿里钱盾已经率先实现查杀,安装了阿里钱盾的用户在安装这款软件或运行这款软件的时候,阿里钱盾都会自动拦截和查杀。

android恶意锁屏 安卓手机流氓锁屏_悬浮窗口_04


        阿里钱盾是阿里巴巴集团专门为网购一族设计和推出的一款手机安全软件。阿里钱盾团队一直致力于为用户打造安全,美好的网购体验。首创“网购全流程”的安全防护,保护用户网购操作的每一步。并推出了“无限次赔付,总金额高达100万”的支付保险服务,不论是赔付次数还是赔付金额都是业界遥遥领先的,为用户移动支付搭建双重保障。

流氓应用的主要功能模块Killpoccessserve分析

      该软件的恶意功能模块killpoccessserve,以服务形式启动,启动后创建悬浮窗口,注册handle类型的回调函数。在其回调函数中不断刷新其悬浮窗口,并且强制占有系统顶层界面,以便达到屏蔽用户界面点击操作。

      此外,该软件使用了一些反编译技巧,致使常用的反编译软件apktool和dex2jar等工具无法正常使用。


      技术人员通过使用最新版反编译工具ida对该软件的执行流程进行了动态跟踪和分析,详细的分析结果如下:


1、 MainActivity.onCreate函数的主要功能:启动killpoccessserve服务。

 

android恶意锁屏 安卓手机流氓锁屏_android恶意锁屏_05


2、 Killpoccessserve服务的主要功能:创建悬浮窗口,创建回调函数,设置定时器。


      a) 创建悬浮窗口,并完成悬浮窗口的各种属性设置。其中 LayoutParams      flags 0x528 表示透明窗口,不可触摸,不接受任何事件,不影响后台的事件响应等

android恶意锁屏 安卓手机流氓锁屏_回调函数_06

 


android恶意锁屏 安卓手机流氓锁屏_回调函数_07

android恶意锁屏 安卓手机流氓锁屏_重启_08


      b) 创建一个handle类型的回调函数killpoccessserve$100000000,并完成初始化,同时设置定时器killpoccessserve_timer。killpoccessserve_timer表示解锁剩余时间。

android恶意锁屏 安卓手机流氓锁屏_android恶意锁屏_09

 


3、 killpoccessserve$100000000.handleMessage回调函数的主要功能:计算剩余时间和刷新悬浮窗口,根据定时器值判断是否自动退出。

      a) 计算剩余时间和刷新悬浮窗口。

 

android恶意锁屏 安卓手机流氓锁屏_android恶意锁屏_10

android恶意锁屏 安卓手机流氓锁屏_重启_11



android恶意锁屏 安卓手机流氓锁屏_android恶意锁屏_12

 


      b) 如果解锁时间到了(killpoccessserve_timer为0),取消定时器,程序退出运行。

android恶意锁屏 安卓手机流氓锁屏_回调函数_13