Skip to content
/ undark Public
forked from DavidVentura/undark

Undark - a SQLite recovery tool for deleted data or corrupt database

License

Notifications You must be signed in to change notification settings

mlt/undark

 
 

Repository files navigation

about Undark

Build status

Undark is a tool that will go through your entire SQLite database file and dump out all rows of data it finds still intact ( both current and deleted rows ). Undark does not differentiate between current and deleted data. The output of Undark is plain text CSV format.

this project is forked from Undark

Original Author: Paul L Daniels

What Undark can do:

  • Retrieve most available records from a SQLite3 DB and dump them to stdout
  • Dump normal (visible) records to stdout
  • Dump deleted (unvacuumed) records to stdout
  • Retrieve data from corrupted SQLite DBs (because it only examines data on a per record basis)

What Undark can't do:

  • Recover data that's already been vacuumed out of the file
  • Magically put the records back in to your db file

usage:

undark -i <sqlite DB> [-d] [-v] [-V|--version]
	[--cellcount-min=<count>] [--cellcount-max=<count>] 
	[--rowsize-min=<bytes>] [--rowsize-max=<bytes>]
	[--no-blobs] [--blob-size-limit=<bytes>]
	[--fine-search]
        -i: input SQLite3 format database
        -d: enable debugging output (very large dumps)
        -v: enable verbose output
        -V|--version: show version of software
        -h|--help: show this help
        --cellcount-min: define the minimum number of cells a row must have to be extracted
        --cellcount-max: define the maximum number of cells a row must have to be extracted
        --rowsize-min: define the minimum number of bytes a row must have to be extracted
        --rowsize-max: define the maximum number of bytes a row must have to be extracted
        --no-blobs: disable the dumping of blob data
        --blob-size-limit: all blobs larger than this size are dumped to .blob files
        --fine-search: search DB shifting one byte at a time, rather than records

Example usage:

./undark -i sms.db > sms-data.csv
'8079','C6CA760C-948C-4CDC-86B2-85D527C8E523','Fingers crossed','0',NULL,'47',NULL,NULL,'blob','10','0','iMessage'
'8076','D5F4356C-F0F4-4507-B767-587627709C5F','Did u remind the kids I''m picking them up this afternoon?','0',NULL,'47',NULL,NULL,'blob','10','0','iMessage'

About

Undark - a SQLite recovery tool for deleted data or corrupt database

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 95.2%
  • Roff 3.5%
  • Makefile 1.3%