admin管理员组

文章数量:1530845


2024年6月3日发(作者:)

第36卷第6期 

2016年11月 

湖北工程学院学报 

JOURNAL OF HUBEI ENGINEERING 

V0 L.36 N0.6 

N0V.2016 

基于Android的手机防盗软件的研究与实现 

李纪平,丁么明,焦家林 

(湖北工程学院计算机与信息科学学院,湖北孝感432000) 

摘要:针对手机被盗或丢失后个人隐私泄露所带来的安全隐患,提出了一种基于Android手机防盗软件 

的总体设计方案和流程,详细给出了各模块的具体实现方法和相应的关键代码。该软件采用后台监听技术,以 

绑定安全号码的方式,通过手机短信对被盗手机实现定位与防盗追踪、锁屏、语音警告以及个人隐私信息销毁 

功能。模拟器和真机环境下的测试结果表明,该软件具有一定的实用价值。 

关键词:Android;隐私泄露;防盗追踪;数据清除;语音报警;锁屏 

中图分类号:TP399 文献标志码:A 文章编号:2095—4824(2016)O6—0047一O6 

随着移动计算技术的发展,智能手机已成信 

息获取的主要载体。其中,Android智能手机不 

仅简单易用、功能强大,而且具有开源的特点,市 

场占有率高达8l ,在人们的日常生活中有着广 

泛的应用_1 ]。当前,人们使用智能手机除了打 

电话、发短信外,更多的是用来实现移动互联服 

App实现丢失手机的定位跟踪及隐私信息的有效 

清除就显得尤为重要和有意义 ]。 

1 系统设计 

为了实现手机防盗功能,系统要实现SIM卡 

更换警告、手机定位跟踪、手机锁屏、语音警告及 

隐私数据清除等功能,手机防盗系统的功能如图 

1所示。 

务,如看新闻、上网聊天、收发微博、移动支付、视 

频观看、手机游戏以及导航服务等。此外,随着人 

们生活节奏加快,移动办公已常态化,重要日程提 

醒、会议记录的存储、银行账号及密码的存储、通 

信录的管理、视频照片存储等都可以借助智能手 

机完成。然而,智能手机在给人们的工作、生活带 

来巨大方便的同时,存储在智能手机中的个人信 

息及相关隐私数据如果泄露,将会给智能手机的 

使用者带来严重的安全隐患。比如,犯罪分子可 

以利用丢失或被盗手机中的联系人信息,冒充银 

行、电信、公检法警察等身份对失主的朋友及家人 

进行诈骗,不仅会对失主及其亲戚朋友造成一定 

的经济损失,而且会给他们的工作、生活造成非常 

图1 系统功能框图 

大的影响[4 ]。因此,设计并开发基于Android 

的手机防盗追踪与隐私保护安全软件,以手机 

收稿日期:2016—09—21 

1.1 系统组成 

该系统主要由系统设置和防盗管理两部分构 

基金项目:国家自然科学基金面上项目(61370223);湖北省自然科学基金面上项目(2014CFB577) 

作者简介:李纪平(1972一 ),男,湖北汉川人,湖北工程学院计算机与信息科学学院副教授,博士。 

丁么明(1963-- ),男,湖北孝昌人,湖北工程学院计算机与信息科学学院教授,博士。 

焦家林(1963-- ),男,湖北汉川人,湖北工程学院计算机与信息科学学院副教授,硕士。 

47— 

李纪平,丁么明,焦家林 

成,其中系统设置主要完成用户在初次使用本软 

件时实现用户名和口令设置,完成系统的初始化, 

并绑定安全号码。防盗管理主要有SIM卡更换 

录Username和Password,以及要绑定的Securi— 

tyNumber和SIM卡信息等。 

警告、手机定位跟踪、手机锁屏、隐私数据清除及 

手机语音警告等功能。 

1.2 系统功能 

当手机开机时,系统首先检测该安全软件是 

否是首次在此手机上运行,若是,就进行初始化设 

置,完成登录用户名和登录密码,以及安全号码的 

设置。当初始化设置完成后,系统将SIM卡信 

息、用户名和密码保存,同时自动启动防盗追踪功 

能;若安全软件不是首次运行,则需要输入登录用 

户名和密码进行用户安全认证,只有安全认证通 

过,才可进入软件设置界面,实现手机防盗功能的 

开启与关闭,实现Username和Password的修 

改。但是,输入Username和Password进行安全 

认证出错次数最多不超过3次,否则该安全软件 

将退出登录窗口,在后台执行监听操作,根据绑定 

安全号码手机发来的“location”、“lockscreen”、“a— 

larm”、“wipedata”等不同短信指令,分别对被盗 

手机执行定位跟踪、锁屏、语音警告及隐私数据销 

毁等操作。 

如果被盗手机SIM卡更换,被盗手机将会向 

邦定安全号码的手机发送SIM变更信息,并将新 

的SIM卡信息发送给拥有安全号码的手机;当拥 

有安全号码的手机向被盗手机发送不同的短消息 

指令,若发送“location”短消息指令,则被盗手机 

会向绑定安全号码的手机发送其所在经纬度位置 

信息;若发送“lockscreen”短消息指令,则被盗手 

机的屏幕将被锁定,防止非法用户查看或处理被 

盗手机内相关信息;若发送“alarm”短消息指令, 

则被盗手机将会自动播放语音警告信息;若发送 

wipedata”短消息指令,则将清除被盗手机上的 

隐私数据信息,具体流程如图2所示。 

2手机防盗系统的实现 

2.1 系统初始化模块 

该模块的主要功能是让本软件在Android智 

能手机上首次使用时,让用户完成Username和 

Password的设置与保存。当前,Android系统主 

要有4种数据存储方式:SQLite数据库、Shared— 

Preferences、Content Provider以及文件存储口。。。 

考虑到本软件要存储的数据量较小,且多为一些 

设置参数,故采用SharedPreferenees方式保存登 

48一 

图2安全软件系统功能流程 

2.2用户管理模块 

用户管理模块的主要功能是让用户进行防盗 

功能的设置、登录用户名和密码的重置。如果用 

户要进入此功能,必须进行登录Username和 

Password的验证。如果登录Username、Pass— 

word和初始化时设置的Username、Password相 

同,则可进行防盗功能的设置,或登录用户名、密 

码的重置;否则,将无法进入到此模块。 

2.3 SIM卡绑定模块 

旦手机和指定的SIM绑定后,如果该手机 

被盗或丢失后SIM卡被换掉,该被盗手机将向绑 

定安全号码的手机发送SIM卡更换消息,并将更 

换后的SIM卡信息发送给绑定安全号码的手机, 

SIM卡绑定的核心代码如下: 

siv

simBind.set0nClickI istener(new 0nClick— 

Listener(){ 

public void onClick(View v){ 

String simSerialNumber—tm.getSimSerial— 

Number(); 

if(siv

simBind.isChecked()){ 

siv

simBind.setChecked(false): 

基于Android的手机防盗软件的研究与实现 

sp.edit().putString(“sim”,“”).commit 

被盗手机的经纬度信息 

实现被盗手机定位跟踪 

();)else{siv_simBind.setChecked(true); 

sp.edit().putString(“sim”,simSerialNumber). 

服务的核心代码如下: 

Publie void onLocationChanged(Location loca— 

commit();)}); 

tion){ 

String longitude一“longitude:”+location. 

2.4安全号码绑定模块 

该模块的主要功能是为用户提供设置一个 

Security number的接口,当手机被盗后,通过此 

Security number,失主可以向被盗手机发送“loca- 

tion”、“lockscreen”、“alarm”、“wipedata”等短消 

getL0ngitude()+“n,’; 

String latitude一“latitude:”+location.getLa— 

titude()+“n”; 

String accuracy一“accuracy:”+location. 

息指令,实现对被盗手机的远程控制与管理。实 

现安全号码绑定功能的核心代码如下: 

protected void showNext(){ 

String et—safephone=et

phone.getText().toS— 

tring().trim(); 

if(TextUtils.isEmpty(et—safephone)){ 

Toast.makeText(this,“请设置安全号码”,0). 

show(); 

return;) 

sp.edit().putString(“safephone”,et

safe— 

phone).commit(); 

Intent intent — new Intent (this, 

Setup4Activity.class); 

startActivity(intent); 

finish(); 

overridePendingTransition(R.anim.tran—in,R. 

anim.tran

_

out);) 

2.5 SIM卡检测模块 

SIM卡检测模块用来检测手机SIM卡是否 

更换,如果SIM卡更换,则视为手机被盗或丢失, 

将向绑定安全号码的手机发送被盗信息及更换后 

的SIM卡信息。系统启动后,Android会发送 

BOOT

COMPLETED广播,用来通告系统的各 

种状态信息 n]。在后台,用BootCompleteReceiv— 

er来专门监听BOOT—COMPLETED广播事件, 

并采用TelephonyManager类的实例来获取手机 

的SIM卡信息,并将此信息和手机中绑定的SIM 

卡信息进行比对,用来判断手机SIM卡是否变 

更,从而决定是否向绑定安全号码的手机发送变 

更后的SIM卡信息。 

2.6手机定位跟踪模块 

手机定位跟踪模块主要用来实现被盗手机的 

定位跟踪服务,为被盗手机的找回提供指导。当 

GPS定位服务开启后,通过调用public void on— 

LocationChanged(Location location)方法来获取 

getAccuracy()+“n”; 

String lastlocation—longitude+latitude+accu— 

racy; 

sp.edit().putString(“lastlocation”,lastloca— 

tion).commit();} 

2.7隐私信息销毁模块 

该模块的主要功能是当手机被盗或丢失后, 

用户可以借助绑定Security number的手机向被 

盗或丢失的手机发送“wipedata”短消息指令,清 

除被盗手机中的隐私信息,包括通信录及手机中 

的存储的短消息、照片等。 

Android系统中的联系人信息一般存储在/ 

data/data/com.android.providers.contacts/目录 

下[11-123,但并不允许直接存取它,必须在获取权 

限后,通过ContentResolver的insert接口获取通 

讯录的联系人,然后通过ContentResolver的De— 

lete接口删除;而SD卡在Android系统中的路径 

是/mnt/sdcardEu ,如果要删除SD卡中的数 

据,必须在取得权限后,通过文件操作实现删除。 

要删除被盗手机联系人信息,首先要获取联 

系人的读写权限,要想获此读写权限,必须在An- 

droidManifest.xml配置文件中加入如下代码: 

<uses—permission android:name一“android. 

permission.READ

CONTACTS”/> 

<uses—permission android:name===“android. 

permission.WRITE

CoNTACTS”/> 

删除被盗手机所有联系人的关键代码如下: 

ContentResolver cr—getC0ntentResolver(); 

int n=cr.delete(ContactsContract.Data.CON— 

TENT

URI,null,nul1); 

要删除被盗手机SD卡中存储的信息,首先 

要获得SD卡的写权限。要想获此权限,必须在 

AndroidManifest.xml配置文件中加入如下代码。 

<uses—permission android:name=“android.per— 

mission.WRITEJ三XTERNAL._STORAGE”/> 

49— 

李纪平,丁么明,焦家林 

在获取SD卡写权限后,执行相关操作可以 

context.startService(intentGPSService): 

String lastlocation—sp.getString(“lastlo— 

实现不同类型信息。如下代码用来删除SD卡中 

存放的在Pictures目录中的所有照片。 

String baseDir 

Environment.getExternalStorageDirectory 

().get AbsolutePath(); 

baseDir=baseDir+“/Pictures”: 

File[]list=new File(baseDir).1istFiles(); 

for(int i=O;i ̄list.1ength;i++)list[i].delete(); 

2.8后台短信监听模块 

该模块的主要功能是在后台实时监听接收到 

的短消息,如有绑定Security number的手机发来 

的短信,则对该短消息的内容进行截获,并将短信 

内容与远程控制代码进行比较,若匹配成功,则根 

据匹配的内容启动相应的防盗跟踪、锁屏、语音报 

警及隐私数据清除等操作,该功能的核心代码如 

下: 

public class SMSReceiver extends BroadcastRe— 

ceiver{ 

private static final String TAG一“SMSReceiv— 

er”; 

private SharedPreferences sp: 

private DevicePolicyManager dpm; 

public void onReceive(Context context,Intent 

intent) 

{sp—context.getSharedPreferences(‘‘config", 

context.MODE

PRIVATE); 

dpm一(DevicePolicyManager)context.getSys— 

temService( 

context.DEVICE

POLICY

SERVICE); 

Object[]objs==(Object[I) 

intent.getExtras().get(“pdus”); 

for(Object obj:objs) 

{smsMessage sms—smsMessage.createFromP— 

du((byte[ ̄)obj); 

String address—sms.get0riginatingAddress 

(): 

String safephone—sp.getString(“safe— 

phone”,“5556”); 

if(address.contains(safephone)){ 

String body—sms.getMessageBody(); 

if(“location”.equals(body)){ 

Intent intentGPSService:=new 

Intent(context,GPSService.class); 

50 

cation”,“”);} 

if(TextUtils。isEmpty(1astlocation)){ 

smsManager.getDefault().sendTextMes— 

sage(address,nul1,” 

getting location…from zh”,null,nul1);} 

else{SmsManager.getDefault().sendText- 

Message(address, 

null,lastlocation,null,nul1);abortBroad— 

cast();} 

else if(“alarm”.equals(body))f 

MediaPlayer mp—MediaPlayer.create(con— 

text,R.raw.fail); 

mp.setVolume(1.Of,1.Of);mp.start(); 

abortBroadcast();} 

else if(“wipedata”.equals(body)){dpm.wipe— 

Data(O);abortBroadcast();) 

else if(“lockscreen”.equals(body)){dpm.1oc— 

kNOW(); 

dpm.resetPassword(safephone,0);abort— 

Broadcast();}) 

3 软件测试 

软件测试的目的主要是测试软件的界面是否 

与设计的效果吻合、运行效果是否良好、功能是否 

完善、性能是否稳定。为了验证手机防盗安全软 

件的运行效果,在仿真模拟器和真机环境下分别 

进行测试。测试的软硬件环境如表1所示。 

表1测试采用的软硬件环境 

软硬件 配置 

操作系统 

Windows 7 

JDK 

1.7 

Android SDK 

4.0.3 

编程软件 

Eclipse Kepler 4.3 

手机型号 

HTC D826w 

手机内存 

2GB 

手机系统 

Android 5.0 

手机驱动 HTC D826w手机驱动 

3.1 测试平台 

硬件:带有USB 2.0接口的台式机一台、装 

有Android 5.0系统的HTC D826 w手机一部、 

USB数据线一根,手机USB接口与电脑的USB 

接口通过USB数据线保持相连并处于同步状态。 

软件:Eclipse Kepler 4.3、Android ADT 1.7 

基于Android的手机防盗软件的研究与实现 

集成开发环境、Android 4.0.3 SDK、HTC I)826w 

手机驱动。 

当绑定Security number的手机(或Android 

模拟器)向被盗手机(或装行此防盗应用的An— 

droid模拟器)发送“alarm”短信指令时,被盗手机 

将播放预,尢设定的语 文件。r口J盗取手机者发送 

在电脑系统测试状态.可以使电脑与HTC 

D826 w手机连接后保持同步。通过Eclipse巾 

DDMS的Device对软件的运行嘶面截屏,通过集 

成环境的LogCat可以对软件的运行情况进行分析。 

3.2 测试结果 

语音警告信息。 

当绑定SecuritY nunlber的手机(或Android 

模拟器)向被盗手机(或装有此防盗应用的An 

不论是采用Android模拟器测试还足真机测 

试,都能实现需求分析所需的四个主要功能。当 

droid模拟器)发送“wipedata”短信指令时。将清 

除被盗手机内所有数据。为了保证真实手机内数 

绑定安全号码的手机(或Android模拟器)向被盗 

手机(或装有此防盗应用的Android模拟器)发送 

“location”短信指令,绑定安全号码的手机(或 

Android模拟器)会收到被盗手机的地理位置信 

息,如图3所示。 

■■《 ■■●■■目■■■■ 口■■Ⅻ_______I■●■■■■■■阻 

, 

I 

1 

h 

。 、∞ 

j - 

(a)真机测试环境 (b)模拟器测试环境 

图3防盗跟踪测试 

当绑定安全号码的手机(或Android模拟 ) 

向被盗手机(或装有此防盗应刚的Android模拟 

器)发送“lockscreen”短信指令时,被盗手机的屏 

幕将处于锁定状态,如 4所示。 

(a)真机测试环境 (b)模拟器测试环境 

图4防盗跟踪测试 

据不被删除.在测试时采用模拟器测试环境.隐私 

数据清除界面如图5所示。 

图5 模拟器环境F隐私数据滑除测试 

4 结束语 

本文提Hj了一种琏于Android平台的手机安 

伞软件的没计方案,详细给}{I_r该软件的系统功 

能框图、功能流程 及各功能模块的核心代码。 

该方案采川后台监听技术,以绑定Security num— 

ber的方式.通过Security nunlber手机以短信方 

式实现对被盗手机的防盗追踪、语音警告、隐私信 

息清除及锁屏功能,仿真和实测结果表明该软件 

具有一定的实川价值。往下阶段的研究中.将主 

要精力放在开发适川下I()S平台的智能手机安全 

防盗软件,实现防盗追踪、语音警告、隐私信息删 

除及锁屏等功能。 

[参 考 文 献] 

[1 l _杨丰盛.Android应用开发揭秘l M].北京:机械工 

业出版社.2()10. 

[2 段君.朱学森.基于And roi(1智能手机来电防火墙 

的研究与设计lJ .内蒙古科技大学学报,2O1 2.31 

(c1):356—359. 

3 1 闰梅.彭新光.基于Android安全机制的权限检测 

5 1 

李纪平,丁么明,焦家林 

系统[J].计算机工程与设计,2013,34(3):854— 

858. 

oid手机远程控制关键技术分析[J]. 

[8] 

李中平.Andr

计算机应用与软件,2O13,30(4):l13—115. 

[4] 

赵海军.解决手机隐私泄露刻不容缓EN].中国计 

算机报,2O12一O2—27(4). 

[9] 

王颖,李威耀.基于Android平台的手机防盗与数 

据保护系统[J].现代计算机.2013(18):62~64. 

oid技术内幕・系统卷[M].北京:机 

[10] 

杨丰盛.Andr

械工业出版社,2O11. 

[5] 

佚名.明争・暗斗:手机安全大作战[N/OL].电脑 

报,2013—03—05[2015—05—05].http://www. 

mpcw.com. 

南秦博,慕德俊,侯艳艳.基于Android平台的手机 

d平台的手机 

[6] 

赖超,龙曦,李金霖,等.基于Androi

后台监听技术[J].电脑知识与技术,2010,6(33): 

9472—9474. 

防盗安全软件设计与实现[J].现代电子技术,2015 

(4):46—49. 

d应用开发入门经典 

[12] 

Darcey L,Conder S.Androi

d平台手机防盗追踪功 

[7] 

张浩,陈盛云.基于Androi

[M].袁国忠,译.北京:人民邮电出版社,2012. 

能的实现[J].江西科学,2011,29(5):652—655. 

Research and Realization of Mobile Phone Security Software 

Based on Android Platform 

Li Jiping,Ding Yaoming,Jiao Jialin 

(School of Computer and Information Science,Hubei Engineering University,Xiaogan,Hubei 432000,China) 

Abstract:In order to overcome the security threat caused by the leak of personal private information 

due to the stolen or lost mobile phone,an overall design scheme for mobile phone is proposed based on 

android platform.In addition,the detailed realization method and related key codes of each module are 

also given.By using background monitoring technology and binding safe phone number,the developed 

software realizes remote control through short message,thus realizing the function of anti—theft 

tracking,voice alarm,locking of screen and destruction of private information.The testing results in 

both simulation and practical environments show that the security software is valuable in practice. 

Key Words:Android;privacy leaking;anti—theft tracking;data wiping;voice alarming;screen loc— 

king 

(责任编辑:熊文涛) 

52一 


本文标签: 手机被盗防盗实现功能