android手机的广播通信关键技术_第1页
android手机的广播通信关键技术_第2页
android手机的广播通信关键技术_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

android手机的广播通信关键技术

0智能注重视频应用的安全问题随着智能手机系统的普及,手机不仅限于通信功能,还限于通信功能。基于智能系统的各种应用程序,手机逐渐发展成一个具有信息存储、音影娱乐、日程提醒、甚至具有即时付费等功能的移动终端,渐渐成为现代生活中人们时刻贴身的“智能钱包”。然而,随之而来的安全问题也日益凸显。在本文讨论的Android平台之中,出现的恶意软件已具有了远程操控的能力,对Android手机用户的使用安全构成了极大的威胁,下面就来具体分析一下Android系统架构的特点,以及在这种系统架构之下实现远程控制的方法1android平台安全引擎1.1android系统层序2007年11月5日Android由谷歌公司推出,成为谷歌旗下的开源手机平台。它继承了谷歌一贯开放、自由的精神,成为了移动终端上开放和完整的系统平台。Android系统分为四层,从高到低依次为应用层、应用框架层、系统运行库层和内核层(图1)。简而言之,Android系统核心为基于Linux2.6.x内核改编的嵌入式内核,上层搭配其开发的Libraries(C++库)以及AndroidRuntime(包括JAVA语言核心库及Dalvik虚拟机),再配合ApplicationFramework(包含了访问核心应用程序的API框架),来开发各种不同的Applications(应用程序)1.2android平台Android的安全机制同样沿袭了Linux系统基于UID权限的安全策略。在Android系统下,每个应用都运行在一个Dalvik虚拟机实例里,而每个Dalvik虚拟机实例都是一个独立的进程空间,因而每个应用程序在安装时都会被分配一个独立的标识(ID),而且之后这个程序所产生的任何文件都会被赋予这个标识。在UID标识的基础上,Android搭配了权限(permission)机制。权限申明了该程序在系统中执行的操作,如:android.permission.SEND_SMS允许发送短信;android.permission.RECEIVE_SMS允许拦截接收短信等等,这些程序的权限都会在程序安装时提示用户。因此,相比iPhone等平台不提供应用程序访问一些接口的作法,Android则是把决定权交给了手机用户,由手机用户在安装时,自己决定是否允许程序对手机执行其权限申明的操作。但像这样看似自由的做法,却带来了风险,埋下了安全隐患2android广播通信技术2.1广播机制与所周知在Android应用层实现远控,离不开Android的广播机制,那Android的广播机制到底是如何运转的呢?众所周知,当人们要收听广播的时候,总是先打开收音机调频率,而后便可收听此频率的节目。同样,Android的广播机制与此相似,只是把所谓的“频率”改成了“事件”。当某个“事件”发生时,系统便会发送一个广播,程序如果要监听这个广播,只要注册一个此事件的广播接收器即可。这样,在程序接收到系统发来的关于此事件的广播后,就可以启动执行对应的操作。2.2静态接收系统广播的注册下面用一个简单的程序为例,分析程序具体如何使用广播机制。程序注册要监听的广播事件为“开机完成”。首先,需要继承广播接收者BroadcastReceiver类,并且去实现onReceive方法:这是一个<receiver/>标签,其中包含了一个android:name属性,继承BroadcastReceiver类的接收器类,在这个标签里还有一个子标签<intent-filter/>,这个标签指定了接收器需要接受哪个广播事件,而这条申明:就是指“开机完成”事件。这样该程序就完成了对事件“开机完成”广播的注册,一旦系统开机完成,该程序就会接收到系统发来的关于“开机完成”的广播。当然,这里需要注意的是,程序要接收有些广播还需要添加相应的权限,例如要接收系统收到短信后的广播,就需要添加这样的一条权限:以上就是静态接收系统广播的注册。完成这些工作后,程序就能接收到自己感兴趣的事件广播,然后就可以执行相应的操作。顺着这个思路,控制手机端就可以通过网络或是短信的方式来传递指令,当被控受害手机收到这样一条指令后,就会形成一个广播,当恶意程序监听到这个广播之后,随之就会启动相应的操作,这样便可实现远控。3android的远程控制核心技术3.1接收短信广播的注册以广播机制为基础,程序实现远控仍需要一个传送指令的途径,通过它传送程序中约定的指令到被控手机,这里以短信的方法实现。首先,程序需要在被控手机里获得接收短信的权限接下来就是前面提到的接收短信广播的注册,注册的事件名为:″vider.Telephony.SMS_RECEIVED″和BroadcastReceiver类的继承与onReceiver实现,在这里不加赘述。广播接收者创建完毕后,只要被控手机接收到短信,该程序就能接收到系统的广播,只要是程序中约定的指令,下一步就可以执行对应的操作。3.2du格式的pdus和inten要做到能够识别短信指令,首先程序要能够读取短信的信息。Android下实现接收短信还是比较方便的,在收到短信后,系统将会把短信相关的所有信息全部封装成pdu格式的″pdus″,然后放到intent里面。这里所谓短信的所有信息包括短信的具体内容,短信的来源地址和短信收到的时间等等。所以,如果程序需要获得短信的信息,只要通过intent,将pdus取出来就可以了,pdus返回的是一个Object数组,用以表示短信的信息,每一个数组元素代表一条短信,每个元素中短信的信息都以byte数组类型保存,因此也可以把它理解成一个byte类型的二维数组,如图2所示。因此,考虑到多条短信的读取,程序代码具体可以如下所示:3.3手机标识的获取现在该程序已经能够读取系统收到短信的信息了。接下来继续分析它如何识别远控指令,并实施对应操作。为了说明此功能,在这里举一个实例:发送一条指令到被控受害手机,该指令要求被控受害手机将其IMSI码和IMEI码通过短信形式后台发送到控制者机器。第一步程序先要得到IMSI码和IMEI码,IMSI码和IMEI码是SIM卡和手机硬件的数字码,是识别手机的标识。应用程序要获取它们,就要用到TelephonyManager类,TelephonyManager类提供了一系列用来访问与手机通讯相关的状态和信息的get方法,在添加了相应权限之后,程序用这个方法就可以获取IMSI码和IMEI码。第二步根据图3所示的代码,程序读取到的短信信息都被放在了msgs[]中,接下来要处理的就是先把信息来源从msgs[]中取出来:并与定义好的控制者手机号码进行比对:如果相等则证明是从控制者手机发来的短信,在确认其来源后读取短信内容:与约定指令比对,如指令″dianli0x002431″:if(bodymsgs.contains(″dianli0x002431″))这样,识别短信指令的工作就完成了。第三步若与指令一致,便执行对应操作,这里的操作是把程序获取到的被控手机的IMSI/IMEI码发送到控制者手机,这里调用SmsManager中sendTextMessage的发送方法,不调用系统短信界面,在后台发送短信。首先用静态方法获得SmsManager实例:这样,该程序就实现了在被控手机中接收、读取、比对短信指令,并执行相应操作的功能。4关键技术细节本文已经介绍了程序实现监听、读取、识别短信传递的指令并按指令要求执行操作的关键技术细节。但是,这里还存在一个问题,这条发送到被控手机的指令是会在系统短信界面中显示出来的,这样就容易被用户怀疑,所以一般的恶意程序都会隐藏远控指令。接下来,本文就继续介绍在Android下两种隐藏短信指令的方法。4.1er添加高级别在xml文件中注册广播接收者BoadcastReceiver时添加高优先级。这个方法是基于Android的“有序广播”机制,这个机制的规则是:优先级高的广播接收器先接收广播,接收之后若未将广播丢弃,则再传给优先级低的接收器接收4.2短信信息的读取利用ContentObserver内容观察者监听数据库变化。Android中的短信收件箱其实就是一个数据库,也就是一张张表。程序在代码里先实现注册监听类,这个cur中的address就是指定的号码,read=″0″表示该条短信状态为未读,这里的Uri=″content://sms/inbox″地址指的是sms/inbox(收件箱)的数据集地址,也就是程序要查询的收件箱表的地址,程序可以对它进行任何数据库的增、删、查、改操作,因而在这里更新短信信息中的读取状态″read″为已读(read=″1″),就可以规避系统的notif

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论