(中国矿业大学(北京) 北京 100083)
摘 要:在当今飞速发展的科技时代,安卓系统渐渐成为了主流的手机系统,下载应用程序是用户的基本需求之一.而那些具有管理员权限的用户,比如父母、老师,他们需要掌握子女、学生的情况,就需要在这些普通用户的手机中装入监听程序.本文阐述了安装文件从服务器端下载到手机端的方法,以及考虑到给手机安装程序要实现自动安装和静默安装的实际需要,尝试性的设计开发出Android应用安全下载系统.
关键词:Android 安全下载 MVC 自动安装 静默安装
中图分类号:TP311文献标识码:A文章编号:1672-3791(2014)01(a)-0000-00
1.引言
现代社会手机被盗现象愈演愈烈,不但手机很难找回,最重要的手机中宝贵的联系人信息等会丢失,而且一些个人隐私很可能因此泄露.另一方面,监护人也希望加强对老人、孩子等弱势群体的安全监控,公司高管也需要加强对外出员工的管理.如果能在这些人群的手机中植入一个监听程序,手机失主就可以掌握丢失手机的位置,进而找回手机,甚至可以远程摧毁丢失手机的系统,防止隐私信息泄露.监护人也可以方便的了解被监护人的当前位置.
基于以上的现状,特提出用手机软件自动下载及安全运行技术来解决这些问题.软件安装过程就是将文件拷贝和对系统注册表设置的过程[1].全自动安装技术的核心是基于软件安装包的静默安装模式[2].软件的静默安装技术是指软件安装过程无需任何用户干预,直接按默认设计进行安装[3].鉴于安卓系统是目前使用的最多的手机系统,决定选取安卓系统作为实验平台,实现程序的远程下载和静默安装.
2. 开发工具技术简介
目前服务器端和手机端的开发技术较多,选取MVC和Android做简单的说明,主要介绍他们在开发中的优势.
2..1 MVC开发模式
MVC设计模式是一个存在于服务器表达层的模型,它将应用分开,改变应用之间的高度耦合,其中MVC是 Model-View-Control 的简称,即模型-视图-控制器.
1)表现层(Presentation layer):包含表示代码、用户交互GUI、数据验证.该层用于向客户端用户提供GUI交互,它允许用户在显示系统中输入和编辑数据.2)业务逻辑层(Business layer):包含业务规则处理代码.该层用于执行业务流程和制订数据的业务规则.业务逻辑层主要面向业务应用,为表示层提供业务服务.3)数据持久层(Persistence layer):包含数据处理代码和数据存储代码.数据持久层主要包括数据存取服务,负责与数据库管理系统(如数据库)之间的通信.
2..2 Android平台五大优势特色
1)开放性.开发平台允许任何移动终端厂商加入到Android联盟中来,使其拥有更多的开发者.2)挣脱运营商的束缚.随着EDGE、HSDPA这些2G至3G移动网络的逐步过渡和提升,用户逐渐摆脱运行商的制约,手机可以更加方便地连接网络.3)丰富的硬件.不同安卓手机功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容,优秀的软件、联系人等资料更是可以方便地转移.4)不受任何限制的开发商.Android平台提供给第三方开发商一个十分宽泛、自由的环境.因此不会受到各种条条框框的阻挠.但也有其两面性,由于该系统自身具备的开放源码的特征,所以它的安全性能正在成为信息安全领域研究的一个重要课题[4].5)无缝结合的Google应用.Google服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而Android平台手机将无缝结合这些优秀的Google服务.
3.辅助开发工具的研究
手机助手:S白马手机安装教程
3..1 VS2010简介
Visual Studio是微软公司推出的开发环境.是目前最流行的Windows平台应用程序开发环境.Visual Studio 2010同时带来了 NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview--CTP),并且支持开发面向Windows 7的应用程序.
3..2 VS2010的特点
支持Windows Azure,微软云架构迈入重要里程碑.助力移动与嵌入式装置开发,商机无限.实践当前最热门的 Agile/Scrum 开发方法,强化团队竞争力.升级的软件测试功能及工具,为软件质量严格把关.搭配Windows 7,Silverlight4 与 Office,发挥多核并行运算威力,创建美感与效能并重的论文范文软件.支持最新C++标准,增强IDE,切实提高程序员开发效率.
3..3Eclipse的相关研究
3..3.1Eclipse概念
Eclipse 是一个开放源代码的、基于J论文范文a的可扩展开发平台.就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境.幸运的是,Eclipse 附带了一个标准的插件集,包括J论文范文a开发工具(J论文范文a Development Kit,JDK).
3..3.2 Eclipse的优点
1)从编写、查错、编译、帮助等等各方面为J论文范文a语言贴身论文范文.2)可无限扩展的强大插件功能.3)众多公司、厂商、组织的鼎立支持. 4)开放,自由,免费.
4. 系统设计
由实际需求,利用VS2010提供的ASP.NET MVC3平台,可以在电脑上搭建一个服务器,把安装文件放在指定目录,供手机端下载.用Eclipse开发出监听程序和壳子程序,将两者的安装文件融合后生成为一个APK.下载到手机端以后,在安装的过程中用户看起来是安装了一个正常的程序,实际上监听程序在壳子程序的掩护下已经装入了用户手机.监听程序会放在手机内存中,防止用户更换SD卡时程序丢失.
监听程序装入手机后,就会每隔一段时间向服务器发送手机的坐标,具有管理员权限的用户就可以从服务器读取被监控用户的坐标,还可以在手机地图上标记出被监控人的位置.如果安装了监听程序的手机丢失,监听程序可以把联系人信息和入网号码打包发送到服务器端,这样用户就可以减少损失,甚至可以远程摧毁手机系统,防止隐私泄露.
综合考虑系统功能,划分出下列三个功能模块.系统架构图如图1所示.
5. 实现细则
5..1 用户界面设计
手机端通过短信发来的链接登录下载页时因浏览器而异有不同的效果.经过真机测试,用手机自带的浏览器可以跳过下载页,直接进行下载,用UC浏览器或是百度浏览器等第三方浏览器会进入下载第三方应用程序确认界面.下载界面和确认界面如图2,图3所示.
5..2 静默安装的核心代码
new Thread() {
public void run() {
j论文范文a.lang.Process process 等于 null,
OutputStream out 等于 null,
InputStream in 等于 null,
等
process 等于 Runtime.getRuntime().exec("su"),
out 等于 process.getOutputStream(),
out.write((“pm install -r” + Environment.getExternalStorageDirectory().
getAbsolutePath() + “/test.apk”).getBytes()),
in 等于 process.getInputStream(),
等
}.start(),
5..3服务器端MVC架构设计
在VS2010下建立的ASP.NET MVC3项目主要由三部分构成:模型Model,控制器Controller和视图View.由下图可以清楚的看到服务器项目的目录结构.
模型(Model):模型类代表了应用程序的数据,这些数据通常具有一个数据验证逻辑,用来使得这些数据必须符合业务逻辑.模型中主要实现程序下载的数据结构和下载时调用的方法.
控制器(Controller):控制器类处理客户端向Web应用程序发出的请求,获取数据,并指定返回给客户端,用来显示处理结果的视图.这里控制器接收手机端发来的下载请求,并将指定的主页视图返回给浏览器.
视图(View):视图类是Web应用程序中用来生成并显示HTML格式的服务器端对客户端请求的响应结果的模板文件.这里视图主要用于服务器接收到用户请求后返回给浏览器的页面,由于为了简单起见,是希望跳过或出现尽可能简单的界面,所以并没有特别设计视图.
6. 结论
本文结合实际需求,充分发挥MVC设计模式在服务器程序设计和管理方面的优势,让手机端实现了在不与用户交互的情况下完成安卓程序的自动安装和静默安装.通过点击短信中的链接进行下载,具有方便性和通用性,具有较高的应用价值和前景.相对于传统方法,极大地提高了方便性,提高了工作效率.整个系统的抗干扰能力还有待提高,比如在下载的过程中还不具有断点续传功能.在安装的过程中没有检查手机是否已安装过本程序,在重复安装的情况下会有提示界面,会暴露监听程序.监听程序的部分还没有全部完成,需要完成的功能还有待明确,由于可能涉及用户隐私,所以一定要慎重对待.
参考文献
[1] 李刚. 软件自动安装部署原理探究[J]. 辽宁师专学报: 自然科学版, 2008, 10(1): 41-42.
[2] 刘光灿, 刘简达, 何文德, 等. 全自动软件安装技术研究[J]. 微计算机信息, 2010 (4): 49-51.
[3] 周新宇, 王印玺. 浅谈软件静默安装技术在系统维护中的应用[J]. 中国科技信息, 2012 (16): 104-104.
[4] 陈益强. 简析 Android 系统的安全性能[J]. 信息系统工程, 2011, 9: 035.
更多论文范文:https://www.mbalunwen.net