朱鵬+陳瑞斌


摘 要:文章設計實現了一種安卓手機防盜系統,由受控機及遠程安全號碼手機上的兩部分軟件組成。在受控機遺失時,遠程安全號碼手機可通過短信方式對受控機進行遠程控制,幫助機主有效降低損失和找到手機。
關鍵詞:智能手機;防盜系統;短信;遠程控制
在移動互聯網時代,手機已成為人們難以離開的重要工具,是個人信息存儲、網上交易支付、網絡金融的重要渠道和工具,相關信息被廣泛存儲于手機內,一旦丟失或被盜,將為機主帶來巨大的安全隱患[1]。本文基于此需求,設計并實現在手機遺失時,遠程控制遺失手機、協助查找遺失手機的安卓智能手機防盜系統,用以將失主損失降到最低。
1 系統設計原理
該安卓智能手機防盜系統,分別由安裝在受控機的本機控制模塊,以及安裝在遠程安全號碼手機上用來控制受控機的遠程控制模塊等兩部分軟件組成。雙方通過短信方式進行信息交互及控制命令的發送傳遞。系統總體架構如圖1所示。
受控機的本機控制模塊通過監聽手機的開機廣播,實時監測手機中插入的sim卡是否合法,如果合法,不作任何處理;否則,將獲取新卡的sim卡卡號,并將該sim卡卡號作為短信的內容發送至用戶指定的遠程安全號碼的手機,從而使用戶獲取被盜手機的sim卡號碼,并進一步對手機進行遠程控制。與此同時,將開啟轉發被盜手機新短信的服務。
當遠程安全號碼手機向受控機命令短信時,受控機本機控制模塊獲取短信并判斷短信的類型。如果是特殊格式的指令短信,則首先將手機調為靜音模式并關閉系統的消息通知,然后再根據指令進行具體的操作。待操作完成以后,回復短信發件人告知指令執行完畢,刪除此條短信并將手機恢復到之前的情景模式,否則不作任何處理。
2 系統軟件結構
2.1 系統整體軟件結構
系統由安裝于受控機的本機控制模塊,以及安裝在遠程安全號碼手機上的遠程控制模塊兩部分構成,系統結構由如圖2所示。
2.2 本機受控端模塊主要功能
2.2.1 軟件設置和權限獲取
本模塊用來設置手機遺失時,遠程控制安全手機的號碼、設置本機與sim卡的綁定、設置獲取超級權限等。
2.2.2 手機防盜功能
手機防盜功能模塊包括以下功能子模塊:(1)sim卡檢測。開機時檢測sim卡是否為原來在系統中注冊的合法的sim卡,用來判斷是否存在更換sim卡的行為,進而決定是否向遠程安全手機發送更換后的sim卡的號碼短信。(2)報送地理位置。丟失或被盜手機,在遠程安全手機的短信命令下,會以短信方式,將自己所在位置的GPS的經緯度信息發送到遠程安全手機。(3)刪除敏感信息。接收并執行遠程安全手機發送的刪除敏感信息的短信命令,刪除本機短信、圖片、記事本等資料。(4)開啟關閉報警音。機主發送開啟報警音短信后,受控端手機報警音響,幫助機主找到手機。(5)鎖屏保護。接收到機主發送要求手機鎖屏命令的短信后,手機立刻進入鎖屏模式。(6)格式化手機。接收到機主發送的要求格式化手機命令的短信后,自動對手機進行格式化處理。
2.3 遠程控制端模塊主要功能
遠程控制端模塊與受控端模塊配合,完成遠程控制命令傳遞和執行,實現遠程控制受控端手機的目的。其主要功能如下。
2.3.1 遠程GPS定位
作為命令發送端,使用與受控機協議的指令短信,控制受控端手機打開GPS,并且以短信形式返還其位置信息,在接收到GPS短信后,在遠程控制端模塊的地圖中,明確顯示手機的位置。
2.3.2 遠程刪除敏感信息
作為命令發送端,使用與受控機協議的指令,發送短信命令,實現遠程控制受控端手機刪除本機短信、圖片、記事本等敏感信息資料的功能。
2.3.3 控制警鈴報警
作為命令發送端,使用與受控機協議的指令短信,控制受控端手機發報警音。
2.3.4 遠程鎖屏
作為命令發送端,使用與受控機協議的指令短信,控制受控端手機自動鎖屏。
2.3.5 遠程格式化
作為命令發送端,使用與受控機協議的指令短信,實現遠程控制受控手機的格式化,做到對隱私數據的保護。
3 系統實現的部分技術要點
系統中,受控機在發現非法sim卡后,與遠程安全號碼手機進行短信聯系,在解析執行有關命令的同時,將受控機的地理位置信息發送給遠程安全號碼手機,實現手機遺失后的防盜功能。系統存在的部分技術要點和實現如下所述。
3.1 sim卡信息的獲取
該部分可使用Android的TelephonyManager類的getLine1Number()函數來實現,其代碼為:
//獲取電話號碼
public String getNativePhoneNumber() {
String nativePhoneNumber = "N/A";
nativePhoneNumber = telephonyManager.getLine1Number();
return nativePhoneNumber;
}
3.2 短信的發送和接收
Android API 中提供了smsManager類。所使用的的發送短信函數原型如下:
sendTextMessage(num, null, content, pend, null)
其中,第一個參數為目標者手機號,第3個參數為短信的文本內容,第4個參數是一個intent,會把發送結果帶回[2]。
接收短信則需要繼承Android API中的Broadcase Receiver類,并覆蓋onReceive 函數:
其實現如下:
public class MessageRec extends BroadcastReceiver {
private static final String strACT = "android.provider.Telephony.SMS_RECEIVED";
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(strACT)) {
StringBuilder sb = new StringBuilder();
Bundle bundle = intent.getExtras();
if (bundle != null) {
Object[] pdus = (Object[]) bundle.get("pdus");
SmsMessage[] msg = new SmsMessage[pdus.length];
for (int i = 0; i < pdus.length; i++) {
msg[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
}
for (SmsMessage currMsg : msg) {
sb.append("From:");
sb.append(currMsg.getDisplayOriginatingAddress());
sb.append("\nMessage:");
sb.append(currMsg.getDisplayMessageBody());
}}}}}
4 結語
本文介紹了短信通信實現所述手機防盜系統的原理、系統結構、功能及部分技術要點。本系統在實際使用過程中,取得了滿意的效果。
作者簡介:朱鵬(1994— ),男,山東菏澤。
[參考文獻]
[1]錢定瑞.智能手機信息安全仍堪憂[N].北京:中國國防報,2014-07-30(4).
[2]ABBISHEK D,ANMOL M. Android系統安全與攻防[M].北京:機械工業出版社,2014.
Abstract: A android software system is designed and realized, composed of remote controlled machine and mobile phone remote security number on the two part of the software. When the control machine is lost, the remote security number mobile phone remotely control on the controlled machine via SMS, to help the owner effectively reduce the loss and find the mobile phone.
Key words: smart mobile phone; anti-theft system; SMS; remote control