- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Android 后台监听机制程序实现
基于Android 后台监听机制程序实现摘要:通过对Android监听机制的分析,实现了手机短信的拦截和监听,通话的监听,后台未授权程序安装的监听,网络流量的监控,通过实现过程和原理分析,对防范Android后台监听等敏感行为具有较为普遍的理论指导意义。
关键词:android;监听机制;后台
中图分类号:F416.6 文献标识码:A 文章编号:1007-9599 (2012) 15-0000-02
1 引言
Android是一种以Linux为基础的开放源代码操作系统[1]。Android 后台监听一般为BroadcastReceiver或者利用Service的一种无界面的后台运行程序,本文旨在通过对后台监听行为的分析与实现,来为防护Android后台监听等敏感行为提供理论指导。
2 基本原理
一般来讲,后台监听程序是基于BroadcastReceiver(广播接收器)的[2],因为在Android中,Broadcast是一种广泛应用在应用程序之间传输信息的机制[3],而后台监听程序正可以利用Broadcast来监听一些系统的广播,通过对广播的监听实现整个监听程序的功能。
在Android中,应用程序的响应性被活动管理器(ActivityManager)和窗口管理器(WindowManage)这两个系统服务所监视。当用户触发了输入事件,而在五秒内没有响应用户的输入事件,那么,Android会认为该应用无响应,便弹出ANR(ApplicationNo Response)对话框[3],因此在做耗时操作的时候,一般利用Service[3](服务)来实现,Service(服务)是一个没有用户界面的在后台运行执行耗时操作的应用组件。
3 基于后台监听机制的敏感行为的实现
通过对监听机制的分析,可以发现,只要监听系统广播,就可以完成对于整个系统的监听,尤其是对于一些相对于手机用户比较敏感的行为。比如,短信操作,通话操作,后台程序非主动的安装和卸载,以及流量统计包括联网等。
3.1 监听对短信、通话的操作
(1)对短信的拦截。在接收短信时,通过在Receive中重写onReceive()方法来监听系统广播“android.provider.Telephony.SMS_RECEIVED”,监听到接收短信的通知后,可以在onReceive()写入自定义的方法对其进行操作,通过内容匹配、号码匹配来进行筛选短信,对一些含有敏感词的短信或者陌生号码的短信,用abortBroadcast()屏蔽掉其在消息栏的Notification(通知)[3]。实现流程图:
(2)本文实现的监听通话的操作是通过在Receive中改写onReceive()方法来监听系统广播“android.intent.action.NEW_OUTGOING_CALL”,实现方式和短信操作类似,这里不做详细讨论。
监听通话和短信操作都需要获得相应的权限。如接收短信、读取短信、发送短信、接听电话等权限。
3.2 监听程序的安装和卸载
由于Android发展迅猛,Android的安全问题越来越严峻,许多木马私自在后台安装一些恶意程序,使用智能手机的人可能都有一种经历,就是当自己调出所安装程序目录的时候,会发现很多程序根本就不是自己安装的,那么这些程序很有可能就是恶意程序。本文从后台监听方面实现了对程序安装和卸载的监听,使手机的安全性得到极大保障。
在Android中安装和卸载程序的时候会发送一个系统广播,而一些恶意木马等通过屏蔽广播等手段,使安装恶意程序对用户透明,因此Android系统的安全使用受到严重威胁。本文通过Broadcast Receiver的onReceive()方法,监听系统广播“android.intent.action.PACKAGE_ADDED”和“..PACAGE_REMOVED”,实现了对安装和卸载程序的监听,并用自己的方法调用NotificationManager,实现了一个对程序安装和卸载的监听并在界面进行显示通知。如图所示,通过图中可以发现,用户可以知道所有程序的安装和卸载的时间以及包名。
界面通知的实现代码[4]:
String service = Context.NOTIFICATION_SERVICE;
NotificationManager nm = (NotificationManager) context
.getSystemService(service);
Notification n = new Notification();
n.icon = R.drawable.ic_launcher;
n.tickerText = “监听程序检测到消息:”;
原创力文档


文档评论(0)