1、Keywords: mobile phone guardian;Android development platform,;MVC framework,;database1 绪论 1.1 背景 本次开发是由安博教育和学校发起,学生自主选题的一次毕业设计。 伴随智能手机的不断普及,移动互联网的快速发展,伴随着3G时代的到来,智能手机的广泛应用,安卓成为活跃用户量最大的移动终端操作系统,并且安卓操作系统是开放源代码的,所以每个人都可以开发出一个安卓应用,导致安卓的应用数不胜数。由于安卓的开源,导致每个人可以对安卓端的软件进行编写,而有些开发者在应用中加入一些非法的代码,窃取用户的隐私,使得手机的安
2、全问题日益明显,手机安全问题关注度日益提高。 随着Android平台的发展和普及,Android已经成为恶意代码的下一个肆虐之地,这里我把一些漏洞的原理和技巧加以整理总结,起到抛砖引玉的作用,希望大家能够把这些知识用到以后反病毒和软件保护的工作中. 不需要懂得信息安全的人是幸福的,而我们的职责是保障他们的幸福。 1.2 开发思路和计划 在和指导老师多次交流后,确定实现方案的要点和工作计划。 整体项目采用MVC框架,是对android知识点的综合应用,用到的技术有 activity,service,broadcast,content provider,Notification,sqlite数据库
3、,自定义title,自定义控件,widget,aidl进程间通讯等,本项目所实现的功能如下: 手机防盗: 根据预设参数,判断手机是否被盗,根据自定义协议发送手机中SIM卡的信息和手机的位置信息给安全号码。可远程通过短信指令,给手机设置锁屏密码,远程锁定手机屏幕,远程格式化手机SD卡,恢复出厂设置,极大的保护用户的隐私安全,通过aidl注册admin设备,一般用户无法卸载该程序。 通讯卫士: 来电号码归属地显示,来电归属地位置的调整,来电黑名单/短信黑名单管理。电话短信备份和还原,保护手机的数据和通讯安全。 软件管理: 系统软件和本地软件,可以显示软件的详细信息,启动、删除、分享应用程序。程序锁
4、可以指定要保护的程序,用户进入要保护的程序之前必须输入密码。 进程管理: 显示当前系统运行的进程信息,显示系统内存信息,可以杀死某个进程,批量杀死进程,通过桌面widget实时展现用户当前的手机内存状态。 手机杀毒: 从服务器下载最新的病毒库,根据程序的包名和程序的数字签名识别病毒,提示用户并查杀恶意软件,使吸费木马无处可藏。 系统优化: 清理手机缓存,提高手机性能,优化电池管理。 高级工具: 手机号码归属地查询,更改归属地位置,常用号码查询。 设置中心: 可以对是否开启防盗、是否开启程序锁服务等功能进行设置,还可以更改来去电显示的风格。我做的毕业设计也经历了从选题,调研,熟悉开发环境,实验关
5、键技术,查找类似的相关系统的资料;系统概要设计,数据库结构设计,功能模块开发,功能模块测试,系统调试和系统试运行和修改。 2 系统需求2.1 范围本次开发的系统为手机安全卫士。用于广大Android手机用户,包括手机防盗 、通讯卫士、 软件管理 、进程管理、 流量统计 、手机杀毒、系统优化、高级工具、设置中心。我所负责的模块是手机防盗、通讯录卫士、软件管理这三个模块!2.2 定义MS MobileSafe (手机安全卫士)的缩写。2.3功能需求1) 手机防盗: 进入“手机防盗”模块,提示用户设置手机保护密码,设置密码成功或已经设置后进入保护程序,其主要功能有:SIM卡变更通知、GPS追踪、远程
6、销毁数据、远程报警2) 通讯录卫士: 根据用户预设的电话号码,拦截该号码的电话或者短信。3) 软件管理: 软件分享、启动或者卸载。 3 模块一:手机防盗模块3.1 手机防盗-业务处理流程3.1.1 设置界面处理流程图 3-1-1 设置界面流程图3.1.2 手机防盗处理流程图3-1-2 手机防盗处理流程图3.2 手机防盗-界面设计图3-2-1 手机防盗界面3.3 手机防盗-代码实现(主要代码实现)public class LostProtectedActivity extends Activity implements OnClickListener private static final S
7、tring TAG = LostProtectedActivity; private SharedPreferences sp; private EditText et_first_dialog_pwd; private EditText et_first_dialog_pwd_confirm; private Button bt_first_dialog_ok; private Button bt_first_dialog_cancle; private EditText et_normal_dialog_pwd; private Button bt_normal_dialog_ok; pr
8、ivate Button bt_normal_dialog_cancle; private TextView tv_lost_protect_number; private RelativeLayout rl_lost_protect_setting; private CheckBox cb_lost_protect_setting; private TextView tv_lost_protect_reentry_setup; private AlertDialog dialog; protected void onCreate(Bundle savedInstanceState) supe
9、r.onCreate(savedInstanceState); sp = getSharedPreferences(config, MODE_PRIVATE); if (isSetupPwd() showNormalEntryDialog(); else howFirstEntryDialog(); private void showFirstEntryDialog() AlertDialog.Builder builder = new Builder(this); View view = View.inflate(this, R.layout.first_entry_dialog, null
10、); et_first_dialog_pwd = (EditText) view.findViewById(R.id.et_first_dialog_pwd); et_first_dialog_pwd_confirm = (EditText) view.findViewById(R.id.et_first_dialog_pwd_confirm); bt_first_dialog_ok = (Button) view.findViewById(R.id.bt_first_dialog_ok); bt_first_dialog_cancle = (Button) view.findViewById
11、(R.id.bt_first_dialog_cancle); bt_first_dialog_cancle.setOnClickListener(this); bt_first_dialog_ok.setOnClickListener(this); builder.setView(view); dialog = builder.create(); dialog.show(); 3.4 手机防盗-实际运行测试 图3-4-1 实际运行图4 模块二:通讯录卫士模块4.1 通讯录卫士-业务处理流程图4-1-1 业务处理流程图4.2 通讯录卫士-界面设计4.2.1 主界面图4-2-1 主界面设计图4.2
12、.2 添加号码界面图4-2-2 号码添加界面设计4.3 通讯录卫士-代码实现(主要代码实现)public class CallSmsSafeActivity extends Activity protected static final int LOAD_DATA_FINISH = 40; public static final String TAG = CallSmsSafeActivity /用于展现出所有的黑名单号码 private ListView lv_call_sms_safe; /操作黑名单号码数据库的对象 private BlackNumberDao dao; private List blacknumbers; /显示黑名单号码的适配器对象 private
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1