2012-05-12 61 views
0

從我閱讀的一些android取證文章我明白,sqlite記錄可以恢復,但只有當sqlite wasnt編譯與SQLITE_SECURE_DELETE選項(重寫刪除的內容與'0')或沒有真空已觸發(回到操作系統未分配的空間)+也有sqlite的選項做自動真空。Android SQLite&刪除記錄恢復

對於Android恢復已刪除的記錄,您有什麼瞭解?它是用這個選項編譯的嗎?意見,鏈接,任何東西都歡迎

PS。我還知道其他方式刪除,通過在行中標記一個特定的標誌爲已刪除..但數據仍然存在..所以我不感興趣的!

+0

我會少擔心刪除的記錄,更多的是簡單地SQLCipher確保整個數據庫的Android:HTTP:// sqlcipher.net/sqlcipher-for-android/ – CommonsWare

+0

是的..會調查後,..但仍然需要回答我的問題..我不打算建立一個安全的應用程序,我正在做一篇關於android法醫的文章 – pulancheck1988

回答

5

,所以我做這些測試,但只與Android 2.2(我沒有紮根移動)

發送短信15仿真器,刪除所有這些,送5個新的短信..結論:

  • 刪除短信是不可見的普通的SQLite觀衆
  • 刪除,但不會被覆蓋短信仍然存在於數據庫文件&可以用十六進制工具(WinHex中)或更專業的應用被看作不變(氧法醫SQLite的東西..)
  • 刪除的短信將被相同表格上的新插入(SMS & MMS表格)覆蓋。意味着從mmssms.db數據庫插入其他表格不會覆蓋SMS-MMS表格中的任何內容
  • SMS按照刪除順序進行覆蓋(它們被添加到'自由空間堆棧'中,並按照在這裏添加它們或'刪除'的順序被覆蓋)
  • 因此可以進行總體SMS恢復(如果沒有收到新的SMS或發送。 。因爲它們被放在同一張桌子裏面..同樣用於MMS ..同名表)
  • 部分短信恢復是不可能的(刪除短信的全部空間被填充填充的新短信佔用,所以用六角工具不能從舊的刪除短信中找到剩菜)
  • 結論有:SQLITE_SECURE_DELETE選項不使用&真空()不觸發

格拉西亞斯