|
轉(zhuǎn)載請注明來源:唐磊的個人博客《android手機獲取系統(tǒng)短信sqlite數(shù)據(jù)庫并查看內(nèi)容》
一個朋友過來,準備玩玩Ta的android手機,給我之前還要拿回去看看,結(jié)果是ta把短信加密了(第三方短信),怕我知道ta的啥見不得人的秘密。o(∩_∩)o 哈哈。TA威脅我說加密了,看我怎么看。結(jié)果我說要是我能看呢。ta威脅我說不行,我就非得試試。直接的思路是,他的手機已經(jīng)root過,我應(yīng)該能直接拿到sqlite數(shù)據(jù)庫。(其他方法比如下對應(yīng)軟件的破解解密爆破等沒試過)。 準備的工具是adb調(diào)試工具、sqlite工具。(之前搞過android開發(fā),所以O(shè)K) 手機連接電腦后,對應(yīng)驅(qū)動安裝好之后,直接進shell,adb shell。然后cd進系統(tǒng)短信數(shù)據(jù)庫的目錄。結(jié)果總提示沒有permission. 然后覺得是否是這樣沒有root權(quán)限,再看看adb 幫助提示,說命令adb root是可以以root身份進入的.結(jié)果又提示說這個調(diào)試工具不能用于真實的手機產(chǎn)品.adbd cannot run as root in production builds .最后嘗試什么sudo su啊之類的也不行.(當時一直關(guān)注于電腦上的commond端,沒注意手機),其實只要執(zhí)行命令su 之后,手機有提示,點擊一下允許root權(quán)限即可。命令行得到root之后就方便了。 首先查看存放短信的sqlite數(shù)據(jù)庫是不是在下面這個目錄 /data/data/com.android.providers.telephony/databases/mmssms.db OK,在滴。然后就是想的直接用命令cp或者copy命令復制到sdcard上,取回到電腦里。結(jié)果悲催的是居然木有cp命令。然后網(wǎng)上查詢得到下面這個方法。可以用dd命令(鏈接百科詳解)。(說是cat命令重定向輸出也可以). 現(xiàn)在已經(jīng)將系統(tǒng)目錄下的數(shù)據(jù)庫copy到sdcard了。 然后退出adb調(diào)試器。(我不知道怎么在adb調(diào)試器里面直接將文件導出到數(shù)據(jù)庫)用adb pull命令導出(之前只用過這種adb push 和adb pull 等)。 OK,已經(jīng)將數(shù)據(jù)庫拿到電腦上了。 打開sqlite命令,查看數(shù)據(jù)庫。 看該數(shù)據(jù)庫下的表。很明顯sms是保存短信的,直接select就能知道短信內(nèi)容。(涉及到電話號碼,就給劃掉了) 亂碼,不著急。將查詢結(jié)果導出到文件。 .output是改變輸出。返回標準輸出。.output stdout 再select一遍。已經(jīng)在當前目錄下生生成查詢結(jié)果的文件。 直接打開,即可。 參考資料: 1. 已經(jīng)root,命令行獲取不到root權(quán)限問題參考(adb root錯誤信息adbd cannot run as root in production builds問題解決):http://blog.csdn.net/littletigerat/article/details/6549021 2. 命令行沒有cp copy命令 參考:http://blog./2010/04/android-shell-%E6%B2%A1%E6%9C%89-cp-%E5%91%BD%E4%BB%A4%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/ 3. android系統(tǒng)短信數(shù)據(jù)庫位置參考:(sms表字段信息):http://blog.csdn.net/reachkate/article/details/6784082 4. sqlite命令參考:http://wenku.baidu.com/view/17f8c720192e45361066f5e7.html
|
|
|