ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:226.90KB ,
资源ID:595983      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/595983.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于android的手机防盗appdoc.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于android的手机防盗appdoc.docx

1、基于android的手机防盗appdoc课程设计说明书题目: 基于android的手机防盗app院 系: 计算机科学与工程 专业班级: 信息安全11-x 学 号: 20113xxxxx 学生姓名: x x x 指导教师: x x 2014年 12 月 20 日 XXXX大学课程设计(论文)任务书 计算机 院系 网络与信息安全 教研室学 号20113xxxxx学生姓名xxx专业(班级)信息安全11-x设计题目基于android的手机防盗app设计技术参数(1)开机自启动(2)获得android手机SIM卡号(3)读写隐藏文件(4)用MD5对文件进行加解密(5)手机gps的应用设计要求(1)手机防

2、盗:根据sim的变更,判断手机是否被盗。(2)根据协议发送手中中sim卡的信息,和当前手机的位置经纬度,给安全号码 发送信息。(3)快速进入手机防盗md5加密。工作量 要求设计说明书的字数在3000字以上。工作计划2014.11.18 根据课程设计的要求,查找相关资料,完成需求分析;2014.11.19-11.25 进行系统的概要设计;2014.11.26-12.14 进行系统的详细设计和源代码的书写;2014.12.15 对系统进行调试分析,写出课程设计报告。参考资料(1) Android系统原理及开发要点详解 韩超,梁泉著 电子工业出版社(2) Android应用开发揭秘 杨丰盛著 机械工

3、业出版社 (3) android开发入门与实战 姚尚朗著 人民邮电出版社指导教师签字教研室主任签字年 月 日指导教师评语:成绩: 指导教师: 年 月 日XXXX大学课程设计(论文)成绩评定表1. 问题描述 11.1问题的意义 11.1. 实验目的 12. 需求分析 13. 概要设计 23.1手机防盗app实现流程分析 24. 详细设计 34.1开机自启动模块 34.2读取sim卡卡号 44.3获取手机持有者位置信息 54.5实现MD5加解密 74.6文件的隐藏 85. 调试分析 95.1设计的思考 95.2常见问题 96. 测试结果 106.1开机自启动测试结果 106.2获得手机持有者当前位

4、置测试结果 106.3获得当前sim卡信息测试结果 116.4读写隐藏文件以及生产MD5值测试结果 11总结 12参考文献 131.问题描述1.1问题的意义通过本次课程设计了解安卓应用开发的基本流程,学会安卓应用开发过程中基本组件的使用,同时掌握安卓应用中一些基本服务的开启以及权限的添加。(1) 加深对安卓应用开发的流程的理解。(2) 熟练掌握安卓应用开发中基本服务的开启及对应服务权限的添加。(3) 加深对MD5散发的理解与应用。1.1.实验目的(1) 掌握安卓应用开发的流程。(2) 掌握安卓应用开发中基本服务的开启及对应服务权限的添加。(3) 对已学过的安卓应用开发技术有一个系统的理解。2.

5、需求分析在现实生活中几乎每个人手中都有一部手机,然而手机的丢失却越来越成为问题。面对这个问题大家都没有很好的解决办法,也只能在自身的条件下提高安全意识。我们这次课程设计主要实现当手机丢失后尽最大可能的找回手机,这在很大程度上弥补了安全措施的不足,基于手机防盗的app市面上有很多但大部分都做得不尽完美,总存在着缺陷,希望我们的这个课程设计能给大家一个新的思路去开发手机防盗app。3.概要设计3.1手机防盗app实现流程分析本软件实现开机自启动,然后自动测试sim卡卡号,并与之前的卡号对比,若相同不做任何处理,若不同则定时向安全号码发送信息,以确认sim卡变更是否为正常行为。发送信息的内容包括当前

6、sim卡卡号、手机持有者的位置(经度,纬度),持有者移动速度与方向。这样可以在手机丢失后方便丢失者找回手机。流程图如图3.1所示:图3.1 手机防盗流程图4.详细设计4.1开机自启动模块当Android手机启动时,会发出一个系统广播,其中就有开机自启动的广播信息ACTION_BOOT_COMPLETED,它的字符串表示常量为android.intent.action.BOOT_COMPLETED。所以只要在开始时程序中捕获这个广播消息就可以开机自启动了。为了捕获这个消息需要实现一个BroadcastReceiver的子类,在这个类中的onReceive方法里实现activity或者servic

7、e的启动,需要在AndroidManifest.xml注册并添加相应的权限,如下; 具体实现源码如下:public class MyBroadcastReceive extends BroadcastReceiver private final String ACTION = android.intent.action.BOOT_COMPLETED;/定义捕获消息的内容 Override public void onReceive(Context context, Intent intent) / TODO Auto-generated method stub if (intent.getAc

8、tion().equals(ACTION);/判断捕获的消息是 /否为开机自启动消息,并启动SafetyMainActivity Intent intent2 = new Intent(context, SafetyMainActivity.class); intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent2); 4.2读取sim卡卡号 手机号码不是所有的都能获取。只是有一部分可以拿到。这个是由于移动运营商没有把手机号码的数据写入到sim卡中。SIM卡只有唯一的编号,供网络与设备识别那就是I

9、MSI号码,手机的信号也可以说是通过这个号码在网络中传递的,并不是手机号码。所以我们读取的是IMSI好,需要在AndroidManifest.xml添加相应的权限,如下;具体过程实现如下;private TelephonyManager tManager; /定义TelephonyManager的对象, /以获得手机设备信息public String getSimSerialNumber() tManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);/获得系统中TelephonyService String line =

10、 tManager.getSimSerialNumber();/获取SIM卡卡号return line;4.3获取手机持有者位置信息GPS定位技术的主要功能是能够为终端用户提供高精度的位置信息。移动运营商采用基于GPS定位技术的位置服务后,终端用户可以方便快捷地获知自己或他人当前所处的位置,这也为我们防盗提供了方便,在AndroidManifest.xml添加相应的权限,如下;具体实现过程如下;public class GPSMainActivity extends Activity implements LocationListener private LocationManager loc

11、ationManager; private Location location; private String provider; private SimpleDateFormat simpleDateFormat; Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.fragment_gpsmain); locationManager = (LocationManager) getSystemService

12、(Context.LOCATION_SERVICE);/获得系统服务 simpleDateFormat = new SimpleDateFormat(yy-mm-dd hh:mm:ss); /使用Criteria确定android location provider Criteria criteria = new Criteria();criteria.setAccuracy(Criteria.ACCURACY_FINE);/设置为最大精度 criteria.setAltitudeRequired(false);/不要求海拔信息 criteria.setBearingRequired(fals

13、e);/不要求方位信息 criteria.setCostAllowed(true);/是否允许付费 criteria.setPowerRequirement(Criteria.POWER_LOW);/对电量的要求 criteria.setAccuracy(Criteria.ACCURACY_FINE); provider = locationManager.getBestProvider(criteria, true); location = locationManager.getLastKnownLocation(provider); updateWithNewLocation(location); locationManager.requestLocationUpdates(provider, 2000, 10, this); private void updateWithNewLocation(Location location2) String latLongSt

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1