Recovering SQLite data from fragmented flash pages

  • Li Zhang
  • , Shengang Hao
  • , Quanxin Zhang*
  • *Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

Abstract

As a small-sized database engine, SQLite is widely used in embedded devices, such as mobile phones and PDAs. Large amounts of sensitive personal data are stored in SQLite. Any unintentional data deletion or unexpected device damage can cause considerable loss to the owners of the data. Therefore, in these cases, it is necessary to be able to recover and extract SQLite data records from the flash memory of portable devices. However, most existing SQLite recovery studies take the database file as the research subject, while it is not possible to acquire an intact database file when the flash memory controller is damaged. This paper presents a new method to recover SQLite data records from fragmented flash pages. Instead of investigating the whole *.db file or the journal file, the suggested method focuses on the analysis of B-Tree leaf page structure, which is the basic storage unit, to locate and extract existing and deleted data records based on the structures of the page header and cells in the leaf page, and then uses the SQLite_master structure to translate hex data records into meaningful SQLite tables. The experimental results show that this new method is effective regardless of which file system is used.

Original languageEnglish
Pages (from-to)451-460
Number of pages10
JournalAnnales des Telecommunications/Annals of Telecommunications
Volume74
Issue number7-8
DOIs
Publication statusPublished - 1 Aug 2019

Keywords

  • B-Tree leaf page
  • Data recovery
  • Fragmented flash pages
  • SQLite database
  • SQLite_master

Fingerprint

Dive into the research topics of 'Recovering SQLite data from fragmented flash pages'. Together they form a unique fingerprint.

Cite this