[發明專利]一種保護安卓手機中短信驗證碼的方法有效
| 申請號: | 201810996054.6 | 申請日: | 2018-08-29 |
| 公開(公告)號: | CN109145645B | 公開(公告)日: | 2021-09-10 |
| 發明(設計)人: | 李金庫;葉陽天;羅林波;姚青松;馬建峰 | 申請(專利權)人: | 西安電子科技大學 |
| 主分類號: | G06F21/62 | 分類號: | G06F21/62;H04W4/14 |
| 代理公司: | 西安通大專利代理有限責任公司 61200 | 代理人: | 徐文權 |
| 地址: | 710075 陜*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 保護 手機 短信 驗證 方法 | ||
1.一種保護安卓手機中短信驗證碼的方法,其特征在于,包括以下步驟;
S1、短信數據庫創建過程
1.1.修改安卓創建短信數據庫的SQL語句,使得創建的新的sms表具有kind字段,且kind字段的類型是INTEGER,kind值為0時,該短信數據是普通短信數據,kind值為1時,該短信是驗證碼短信;
S2、短信數據庫插入過程
2.1.修改SmsProvider對象的insert方法,判斷待插入的短信數據表名稱是否是“sms”,如是,執行2.2,否則跳轉到2.8;
2.2.判斷待插入的短信數據鍵值對initialValues中是否包含body和address字段,如是,執行2.3,否則跳轉到2.8;
2.3.獲取initialValues鍵值對中body和address字段的值,即短信內容和短信源地址;
2.4.判斷短信源地址是否在地址列表commonNumberList中,如是,執行2.5,否則跳轉到2.8;
2.5.判斷短信內容字段中是否包含4-8位的連續數字或數字加英文,如是,執行2.6,否則跳轉到2.8;
2.6.判斷短信內容字段中是否包含“驗證”或“密碼”關鍵字,如是,表明這是一個短信驗證碼數據,執行2.7,否則跳轉到2.8;
2.7.在initialValues鍵值對中存入kind=1的鍵值對;
2.8.根據initialValues鍵值對等參數生成對應的SQL插入語句;
2.9.執行SQL語句,把短信數據插入短信數據庫;
S3、短信廣播發送過程
3.1.修改SmsBroadcastReceiver對象中的onReceive()方法,從Intent對象中獲取短信pdu數組,并遍歷所有的短信pdu數據;
3.2.通過SmsMessage的createFromPdu()方法把短信pdu轉換成SmsMessage對象;
3.3.獲取當前短信的源地址和短信內容;
3.4.判斷短信源地址是否在地址列表commonNumberList中,如是,執行3.5,否則跳轉到3.8;
3.5.判斷短信內容字段中是否包含4-8位的連續數字或數字加英文,如是,執行3.6,否則跳轉到3.8;
3.6.判斷短信內容字段中是否包含“驗證”或“密碼”關鍵字,如是,表明這是一個短信驗證碼數據,執行3.7,否則跳轉到3.8;
3.7.記錄該條pdu,該條pdu中包含了短信驗證碼數據;
3.8.是否已經遍歷完成所有的短信pdu,如是,執行3.9,否則跳轉到3.2;
3.9.記錄的短信驗證碼數等于pdu數組的大小,則此次廣播中的所有短信都是驗證碼短信,則不再繼續發送廣播;
S4、短信數據庫查詢過程
4.1.修改SmsProvider對象提供的短信數據庫查詢方法query方法,判斷調用該方法的應用是否是默認短信應用,如否,則執行4.2,否則跳轉到4.10;
4.2.判斷query方法的參數selection是否為空,如是,執行4.3,否則跳轉到4.5;
4.3.把selection參數賦值為“kind=?”;
4.4.把query方法的參數selectionArgs賦值為只包含一個字符串“0”的字符串數組,接著執行4.10;
4.5.在selection字符串的末尾添加字符串“and kind=?”;
4.6.獲取selectionArgs數組的數組大小size,并創建一個大小為size+1的新字符串數組;
4.7.把selectionArgs數組的所有數組元素拷貝到新數組中;
4.8.并對新數組的最后一個數組元素賦值“0”;
4.9.把新數組賦值給selectionArgs;
4.10.繼續執行query方法,生成對應的SQL語句。
2.根據權利要求1所述一種保護安卓手機中短信驗證碼的方法,其特征在于,在步驟1之前還包括設置短信驗證碼發送地址列表commonNumberList,根據發送短信的源地址是否在commonNumberList列表中判斷該短信是否可能是一個驗證碼短信。
3.根據權利要求1所述一種保護安卓手機中短信驗證碼的方法,其特征在于,將步驟3.9中所有沒有標記過的短信pdu存入一個新的pdu數組中,并用其替換intent中攜帶的舊的pdus數據,通過廣播把這個新的intent發送給第三方應用接收。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西安電子科技大學,未經西安電子科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810996054.6/1.html,轉載請聲明來源鉆瓜專利網。





