Android手机远程控制关键技术分析_李中平

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

的开源手机平台。它继承了谷歌一贯开放 、 自由的精神, 成为了 移动终端上开放和完整的系统平台 。 Android 系统分为四层, 从高到低依次为应用层 、 应用框架 层、 系统运行库层和内核层( 图 1 ) 。
114
计算机应用与软件
2013 年
实例里, 而每个 Dalvik 虚拟机实例都是一个独立的进程空间, 因 而每个应用程序在安装时都会被分配一个独立的标识( ID ) , 而 且之后这个程序所产生的任何文件都会被赋予这个标识 。 Android 搭配了权限( permission ) 机 在 UID 标识的基础上, 制。权限申明了该程序在系统中执行的操作, 如: android. permission. SEND_SMS 允许发送短信; android. permission. RECEIVE _SMS 允许拦截接收短信等等, 这些程序的权限都会在程序安 装时提示用户。 因此, 相比 iPhone 等平台不提供应用程序访问一些接口的 Android 则是把决定权交给了手机用户, 作法, 由手机用户在安装 自己决定是否允许程序对手机执行其权限申明的操作。但像 时, 这样看似自由的做法, 却带来了风险, 埋下了安全隐患
图2
短信存储格式
因此, 考虑 到 多 条 短 信 的 读 取, 程序代码具体可以如下 所示:
/ / 得到 Intent 的 pdus, 返回 object 数组 Object[ ] object = ( object[ ] ) intent. getSerializableExtra ( “pdus” ); byte[ ] [ ] pdusms = new byte [ object. length] [ ] ; for( int i = 0 ; i < pdusms. length; i + + ) { pdusms[ i] = ( byte[ ] object[i] ; } / / 创建短信
3
3. 1
Android 远程控制关键技术
接收远程控制指令短信
以广播机制为基础, 程序实现远控仍需要一个传送指令的

2
2. 1
Android 广播通信技术
广播机制的原理
通过它传送程序中约定的指令到被控手机, 这里以短信的 途径, 方法实现。 首先, 程序需要在被控手机里获得接收短信的权限
SMS″ / >
收稿日期: 2012 - 08 - 24 。 上海市教委创新基金项目 ( 11YZ192 ) ; 上海市自然科学基金项目( 12ZR1411900 ) ; 上海市大学生科创基金项目 ( JXXY1125 ) 。李中平, 本科生, 主研领域: 移动通信安全。 邱健峰, 本 科生。李璐, 本科生。王勇, 教授。
Abstract
In Android mobile phones there are the malicious programs mainly for stealing users ’privacy information,and some of them
even have the ability of remote control. In this article we summarise the key technologies of broadcast communications of Android platform based on its architecture and security mechanism. We also use the method of instance to generalise the basic process of remote control on Android platform. The emphasis of this article is to analyse the key remote controlling technologies including message format,reading and executing of controlling instruction,as well as message instruction hiding. Keywords Android Remote control Broadcast Message hiding
< usespermission android: name = ″ android. permission. RECEIVE _
接下来就是前面提到的接收短信广播的注册, 注册的事件 名为: ″ android. provider. Telephony. SMS _ RECEIVED″ 和 BroadcastReceiver 类的继承与 onReceiver 实现, 在这里不加赘述。 广播接收者创建完毕后, 只要被控手机接收到短信, 该程序 就能接收到系统的广播, 只要是程序中约定的指令, 下一步就可 以执行对应的操作。
0


随着智能手机系统的普及, 手机已经不仅仅局限于通信功 能。基于智能系统的各种应用程序, 手机逐渐发展成一个具有 信息存储、 音影娱乐、 日程提醒、 甚至具有即时付费等功能的移 “智能钱包 ” 。然 动终端, 渐渐成为现代生活中人们时刻贴身的 而, 随之而来的安全问题也日益凸显 。 在本文讨论的 Android 平台之中, 出现的恶意软件已具有了远程操控的能力,对 Android 手机用户的使用安全构成了极大的威胁, 下面就来具体分 析一下 Android 系统架构的特点, 以及在这种系统架构之下实 现远程控制的方法
这是一个 < receiver / > 标签, 其中包含了一个 android: name 属性, 继承 BroadcastReceiver 类的接收器类, 在这个标签里还有 filter / > , 一个子标签 < intent这个标签指定了接收器需要接受 而这条申明: 哪个广播事件,
android. intent. action. BOOT_COMPLETED
[5 ]

在 Android 应用层实现远控, 离不开 Android 的广播机制, 那 Android 的广播机制到底是如何运转的呢? 众所周知, 当人们要收听广播的时候, 总是先打开收音机调 Android 的广播机制 而后便可收听此频率的节目 。 同样, 频率, 。 当 某 个“事 与此相似, 只是 把 所 谓 的“频 率 ” 改 成 了“事 件 ” 件” 发生时, 系统便会发送一个广播, 程序如果要监听这个广 播, 只要注册一个此事件的广播接收器即可 。这样, 在程序接收 就可以启动执行对应的 到系统发来的关于此事件的广播后, 操作。
接着在 Manifest. xml 里注册接收器:
< receiver android: name = ″. BootSmsReceived″ > < intentfilter > < action android: name = ″android. intent. action. BOOT _COMPLETED″ > < / action > < / intentfilter > < / receiver >
2. 2
广播机制的使用
3. 2
短信的பைடு நூலகம்取
要做到能够识别短信指令, 首先程序 要 能 够 读 取 短 信 的
下面用一个简单的程序为例, 分析程序具体如何使用广播 “开机完成” 。 机制。程序注册要监听的广播事件为 首先, 需要继承广播接收者 BroadcastReceiver 类, 并且去实 现 onReceive 方法:
[2, 3 ]
< usespermission android: name = ″ android. permission. RECEIVE _ SMS″ / >
以上就是静态接收系统广播的注册 。 完成这些工作后, 程 然后就可以执行相应的 序就能接收到自己感兴趣的事件广播, 操作。顺着这个思路, 控制手机端就可以通过网络或是短信的 当被控受害手机收到这样一条指令后, 就会形 方式来传递指令, 成一个广播, 当恶意程序监听到这个广播之后, 随之就会启动相 这样便可实现远控。 应的操作,
第 30 卷第 4 期 2013 年 4 月
计算机应用与软件 Computer Applications and Software
Vol. 30 No. 4 Apr. 2013
Android 手机远程控制关键技术分析
李中平 邱健峰 李 璐 王 勇
( 上海电力学院计算机与科学与技术系 上海 201300 )
Public class Boot extends BroadcastReceiver{ @ Override public void onReceive( Context context,Intent intent) { / / 在这里添加接收到广播后要执行的操作 } }
信息。 Android 下实现接收短信还是比较方便的, 在收到短信后, 系统将会把短信相关的所有信息全部封装成 pdu 格式的″pdus″, 然后放到 intent 里面。这里所谓短信的所有信息包括短信的具 体内容, 短信的来源地址和短信收到的时间等等 。所以, 如果程 序需要获得短信的信息, 只要通过 intent, 将 pdus 取出来就可以 pdus 返回的是一个 Object 数组, 了, 用以表示短信的信息, 每一 byte 每个元素中短信的信息都以 数 个数组元素代表一条短信, 组类型保存, 因此也可以把它理解成一个 byte 类型的二维数 组, 如图 2 所示。
1
1. 1
Android 平台安全机制
Android 平台架构
2007 年 11 月 5 日 Android 由谷歌公司推出, 成为谷歌旗下
1. 2
Android OS 安全机制
Android 的安全机制同样沿袭了 Linux 系统基于 UID 权限
的安全策略。 在 Android 系统下, 每个应用都运行在一个 Dalvik 虚拟机
[1 ]
图1
Android 系统架构

Android 系统核心为基于 Linux 2. 6. x 内核改编 简而言之, 上层搭配其开发的 Libraries ( C + + 库) 以及 An的嵌入式内核, droid Runtime( 包括 JAVA 语言核心库及 Dalvik 虚拟机) , 再配 合 Application Framework( 包含了访问核心应用程序的 API 框 [1 ] 架) , 来开发各种不同的 Applications( 应用程序) 。


Android 手机上存在的恶意程序, 主要窃取用户隐私信息, 有些甚至具备远程控制的能力 。 在分析 Android 平台架构与
安全机制的基础上, 总结其广播通信关键技术 。并采用实例方法, 归纳 Android 平台上的远程控制基本过程 。 重点分析控制指令短 读取与执行、 以及短信指令的隐藏等远程控制关键技术 。 信格式, 关键词 中图分类号 Android TP391 远程控制 广播通信 短信隐藏 A DOI: 10. 3969 / j. issn. 1000386x. 2013. 04. 031
文献标识码
ANALYSING KEY TECHNOLOGIES OF ANDROID MOBILE PHONE’ S REMOTE CONTROL
Li Zhongping Qiu Jianfeng Li Lu Wang Yong
( Department of Computer Science and Technology ,Shanghai University of Electric Power,Shanghai 201300 , China)
“开机完成” 就是指 事件。 “开机完成 ” 这样该程序就完成了对事件 广播的注册, 一旦 “开机完成 ” 该程序就会接收到系统发来的关于 系统开机完成, 的广播。当然, 这里需要注意的是, 程序要接收有些广播还需要 例如要接收系统收到短信后的广播, 就需要添 添加相应的权限, 加这样的一条权限:
相关文档
最新文档