基于SQLite設備的碎片數(shù)據(jù)提取方法
【技術領域】
[0001]本發(fā)明屬于數(shù)據(jù)提取領域,具體涉及一種基于SQLite設備的碎片數(shù)據(jù)提取方法。
【背景技術】
[0002]目前市面上有很多基于SQLite的數(shù)據(jù)提取方法(SQLite,是一款輕型的數(shù)據(jù)庫,是遵守ACID的關系型數(shù)據(jù)庫管理系統(tǒng),它包含在一個相對小的C庫中)。但都具有如下局限性:1.需要分析并依賴SQLite數(shù)據(jù)庫的物理存儲結構和操作系統(tǒng)的特征。2.需要先對數(shù)據(jù)庫文件進行掃描恢復,再進行數(shù)據(jù)提取,所需時間更長。3.當某些數(shù)據(jù)的存儲結構被破壞(碎片數(shù)據(jù))時,無法有效恢復提取,導致提取不徹底。
[0003]涉及到的技術名稱介紹:
[0004]文本流:指在流中流動的數(shù)據(jù)是以字符的形式出現(xiàn),流中的每一個字符對應一個字節(jié),用于存放對應的ASCII碼值,因此文本流中的數(shù)據(jù)可以顯示和打印出來,都是用戶可以讀懂的信息;
[0005]正則表達式:又稱正規(guī)表示法、常規(guī)表示法(英語:Regular Express1n,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念;正則表達式使用單個字符串來描述、匹配一系列符合某個句法規(guī)則的字符串。
[0006]Unicode編碼:是一種在計算機上使用的字符編碼。
【發(fā)明內容】
[0007]本發(fā)明針對現(xiàn)有技術的不足,提供了一種基于SQLite設備的碎片數(shù)據(jù)提取方法,能夠有效解決現(xiàn)有技術提取繁瑣,效率低以及提取數(shù)據(jù)不徹底等問題。
[0008]為解決以上問題,本發(fā)明采用的技術方案如下:一種基于SQLite設備的碎片數(shù)據(jù)提取方法,包括以下步驟:
[0009]101-提取設備的Sqlite數(shù)據(jù)庫文件;
[0010]102-解析101中提取出的SQLite數(shù)據(jù)庫文件,即可得到碎片數(shù)據(jù),并存儲在本地空間;
[0011]103-將102得到的碎片數(shù)據(jù)按照出現(xiàn)的先后順序展示。
[0012]作為優(yōu)選,102的具體方法如下:
[0013]201-讀取SQLite數(shù)據(jù)庫文件的字符編碼Unicode ;
[0014]202-根據(jù)字符編碼Unicode,以文本流的方式加載SQLite數(shù)據(jù)庫文件到另一個設備的內存;
[0015]203-調用正則表達式API,使用正則表達式匹配并提取文本流中的字符編碼,SP可得到碎片數(shù)據(jù)集合;
[0016]204-將提取得到的碎片數(shù)據(jù)集合添加到展示結果集中,并返回步驟203循環(huán)執(zhí)行,直到數(shù)據(jù)庫所有日志文件匹配并提取完畢。
[0017]作為優(yōu)選,正則表達式的核心字符為:\un,其中η是用四個十六進制數(shù)字表示的字符編碼。
[0018]作為優(yōu)選,101所述的數(shù)據(jù)庫文件包括短息、聯(lián)系人、通話記錄、QQ和微信。
[0019]作為優(yōu)選,101所述的設備包括所有使用SQLite的手機、平板以及電腦。
[0020]本發(fā)明的有益效果如下:直接通過文本流的方式加載SQLite數(shù)據(jù)庫文件;通過正則表達式操作文件的文本流,提取SQLite數(shù)據(jù)庫文件中的明文數(shù)據(jù),速度快,節(jié)約數(shù)據(jù)提取時間;數(shù)據(jù)提取最徹底,適用于線索收集、破案偵查等;且適用于所有使用SQLite數(shù)據(jù)庫的Android設備和iPhone設備。
【附圖說明】
[0021]圖1提取主流程圖;
[0022]圖2提取SQLite數(shù)據(jù)庫文件詳細流程圖。
【具體實施方式】
[0023]為使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明做進一步詳細說明。
[0024]實施例:
[0025]—種基于SQLite設備的碎片數(shù)據(jù)提取方法,本實施例采用手機設備和短息數(shù)據(jù)庫為例,包括以下步驟:
[0026]101-提取手機的Sqlite數(shù)據(jù)庫文件;
[0027]102-解析101中提取出的SQLite數(shù)據(jù)庫文件,即可得到碎片數(shù)據(jù),并存儲在本地空間;
[0028]103-將102得到的碎片數(shù)據(jù)按照出現(xiàn)的先后順序展示。
[0029]進一步地,102的具體方法如下:
[0030]201-讀取SQLite數(shù)據(jù)庫文件的字符編碼Unicode ;
[0031]202-根據(jù)字符編碼Unicode,以文本流的方式加載SQLite數(shù)據(jù)庫文件到電腦端的內存;
[0032]通過手機系統(tǒng)的連接通道(如:Android ADB, iPhone iTunes)將手機數(shù)據(jù)區(qū)中所有的 SQLite 數(shù)據(jù)庫文件及日志文件(如:*.db、*.db_mjF12E95986、*.db-wal、*.db-shm、*.db-xly、*.sqlitedb等后綴文件)存儲到本地空間。
[0033]203-調用正則表達式的API,使用正則表達式匹配并提取文本流中的字符編碼,即可得到碎片數(shù)據(jù)集合;
[0034]204-將提取得到的碎片數(shù)據(jù)集合添加到展示結果集中,并返回步驟203循環(huán)執(zhí)行,直到數(shù)據(jù)庫所有日志文件匹配并提取完畢。
[0035]進一步地,正則表達式的核心字符為:\un,其中η是用四個十六進制數(shù)字表示的字符編碼。例如,\u00A9匹配版權符號(©)。本實施例所使用的正則表達式為:[\u0009\u000A\u000D\u0020-\u007E\u2000-\u206F\u20A0-\u20CF\u2E00-\u2E7F\u3000-\u303F\u4E00-\u9FA5\uFF01-\uFF0F\uFF1A-\uFF20\uFFE5] {2,} | [\u4E00_\u9FA5] {I,} I [0-9] {I,};
[0036]其中,最少匹配一個漢字或者一個數(shù)字(0-9)或者最少匹配連續(xù)2個字符(英文字母和標點符號)。
[0037]本領域的普通技術人員將會意識到,這里所述的實施例是為了幫助讀者理解本發(fā)明的實施方法,應被理解為本發(fā)明的保護范圍并不局限于這樣的特別陳述和實施例。本領域的普通技術人員可以根據(jù)本發(fā)明公開的這些技術啟示做出各種不脫離本發(fā)明實質的其它各種具體變形和組合,這些變形和組合仍然在本發(fā)明的保護范圍內。
【主權項】
1.一種基于SQLite設備的碎片數(shù)據(jù)提取方法,其特征在于,包括如下步驟: 101-提取設備的Sqlite數(shù)據(jù)庫文件; 102-解析101中提取出的SQLite數(shù)據(jù)庫文件,即可得到碎片數(shù)據(jù),并存儲在本地空間; 103-將102得到的碎片數(shù)據(jù)按照出現(xiàn)的先后順序展示。2.根據(jù)權利要求1所述的一種基于SQLite設備的碎片數(shù)據(jù)提取方法,其特征在于,102的具體方法如下: 201-讀取SQLite數(shù)據(jù)庫文件的字符編碼Unicode; 202-根據(jù)字符編碼Unicode,以文本流的方式加載SQLite數(shù)據(jù)庫文件到另一個設備的內存; 203-調用正則表達式API,使用正則表達式匹配并提取文本流中的字符編碼,即可得到碎片數(shù)據(jù)集合; 204-將提取得到的碎片數(shù)據(jù)集合添加到展示結果集中,并返回步驟203循環(huán)執(zhí)行,直到數(shù)據(jù)庫所有日志文件匹配并提取完畢。3.根據(jù)權利要求2所述的一種基于SQLite設備的碎片數(shù)據(jù)提取方法,其特征在于,正則表達式的核心字符為:\un,其中η是用四個十六進制數(shù)字表示的字符編碼。4.根據(jù)權利要求1所述的一種基于SQLite設備的碎片數(shù)據(jù)提取方法,其特征在于,101所述的數(shù)據(jù)庫文件包括短息、聯(lián)系人、通話記錄、QQ和微信。5.根據(jù)權利要求1所述的一種基于SQLite設備的碎片數(shù)據(jù)提取方法,其特征在于,101所述的設備包括所有使用SQLite的手機、平板以及電腦。
【專利摘要】本發(fā)明公開了一種基于SQLite設備的碎片數(shù)據(jù)提取方法,屬于數(shù)據(jù)提取領域,包括如下步驟:101-提取設備的Sqlite數(shù)據(jù)庫文件;102-解析101中提取出的SQLite數(shù)據(jù)庫文件,即可得到碎片數(shù)據(jù),并存儲在本地空間;103-將102得到的碎片數(shù)據(jù)按照出現(xiàn)的先后順序展示。本發(fā)明的有益效果如下:直接通過文本流的方式加載SQLite數(shù)據(jù)庫文件;通過正則表達式操作文件的文本流,提取SQLite數(shù)據(jù)庫文件中的明文數(shù)據(jù),速度快,節(jié)約數(shù)據(jù)提取時間;數(shù)據(jù)提取最徹底,適用于線索收集、破案偵查等;且適用于所有使用SQLite數(shù)據(jù)庫的Android設備和iPhone設備。
【IPC分類】G06F17/30
【公開號】CN105022800
【申請?zhí)枴緾N201510377488
【發(fā)明人】梁效寧, 張佳強
【申請人】四川效率源信息安全技術有限責任公司
【公開日】2015年11月4日
【申請日】2015年7月2日