手機取證與電腦取證的特性不同,而且存在著一些瓶頸有待突破,尤其是當商業版的手機鑑識工具力有未逮之時,便需要鑑識人員發揮經驗及技術,在確保手機內資料無破壞之虞的情況下擷取出重要跡證。
然後,執行指令「ar -x sqlcipher_2.1.1-2_amd64.deb」,便可以將安裝套件解開抽取其內容,如圖15所示。
|
▲圖15 解開抽取sqlcipher_2.1.1-2_amd64.deb套件內容。 |
其中會產生出一個名為「data.tar.gz」的檔案,裡頭有所需的執行檔,因此要再進行解壓縮。如圖16所示,解壓縮後會產生一個「usr」資料夾,所需的執行檔sqlcipher就在裡面,其相對路徑為「./usr/bin/sqlcipher」。
|
▲圖16 再解壓縮才能得到需要的檔案。 |
接著,libsqlcipher0_2.1.1-2_amd64.deb也是相同的處理方式,如圖17?18所示,所需的函式庫位於相對路徑「./usr/lib/x86_64-linux-gnu」之下。
|
▲圖17 解開抽取libsqlcipher0_2.1.1-2_amd64.deb套件內容。 |
|
▲圖18 再解壓縮才能得到裡頭的檔案。 |
萬事俱備,接著便是重頭戲了。開始破解EnMicromsg.db,執行指令如圖19所示,先指定LD_LIBRARY_PATH路徑,再執行sqlcipher,後面所接的檔案名稱自然是EnMicromsg.db。
|
▲圖19 執行SQLCipher。 |
執行結果如圖20所示,當看到sqlite>提示符號時,就表示已進入SQLCipher 2.2.1的交談模式。
|
▲圖20 進入SQLCipher 2.2.1的交談模式。 |
留意它有提示SQL指令的末尾需加上一個分號「;」,才能順利執行不會出錯。首先輸入Key值,如圖21所示。
|
▲圖21 輸入Key值。 |
再將cipher_use_hmac的參數值設為「off」,如圖22所示,目的只是為了確保能與先前版本相容。
|
▲圖22 將cipher_use_hmac的參數設為off。 |
然後,掛載一個加密Key值為空白的資料庫,檔名為「e600.db」,如圖23所示。留意一下,此處的「e600.db」是可以視需要自行取名的,並非一定要叫這個名字不可。
|
▲圖23 掛載一個加密Key值為空白的資料庫,檔名為e600.db。 |
再將EnMicromsg.db的數據利用sqlcipher_export()指令匯入至所掛載的資料庫,經過一段時間之後,當見到如圖24的提示符號sqlite>便表示大功告成了。
|
▲圖24 將EnMicromsg.db的數據匯入至e600.db。 |
此時,便可將資料庫進行卸載,如圖25所示執行「DETACH DATABASE decrypt_db;」指令。
|
▲圖25 將資料庫卸載。 |
最後要退出SQLCipher時,輸入指令「.exit」即可,末尾無需加「;」,如圖26所示。
|
▲圖26 退出SQLCipher。 |
這時候可直接以SQLite Database Browser選取「e600.db」進行開啟(圖27),將不會再出現當初開啟EnMicromsg.db時的錯誤訊息。
|
▲圖27 以SQLite Database Browser開啟e600.db。 |