Skip to content

It is a github directory that covers projects such as sqlite3 database usage, operation and recovery of deleted data using Python language.

Notifications You must be signed in to change notification settings

abdulkadir-gungor/SQLite3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SQLite(3)

It is a github directory that covers projects such as sqlite3 database usage, operation and recovery of deleted data using Python language.

What is SQlite(3)?

SQLite(3) is an Open-Source database program that uses a sub-set of the SQL database descriptor language. SQlite(3) Databases are used for structured data storage and SQLit(3) is a popular database format appearing in many mobile systems as well as traditional operating systems

Areas where SQlite(3) database is used

1) Android file systems
a) Contacts = /data/data/com.android.providers.contacts/databases/contacts.db
b) SMS = /data/data/com.android.providers.telephony/databases/mmssms.db
c) Bookmarks = /data/data/com.android.browser/databases/browser.db
...
2) File system of mobile applications
a) app_icons
b) app_cache
c) app_geolocation
d) app_databases (whatsapp, Signal, Telegram, Wire, Skype ... )
...
3) Browsers   [example: https://github.com/abdulkadir-gungor/DPAPI]
a) Chrome
b) Brave
c) Opera
d) Firefox
e) Yandex
...
4) Pc applications, Web apps, Raspberry Pi, ...

Projects

Proje Github Links

1) sqlite3_multithread : Single-thread and multi-thread usage examples in sqlite3 projects in Python language

2) sqlite3_parser : It is an application that extracts recorded data and database information from SQLite3 files using b-tree algorithm. It does not process deleted data.

3) sqlite3_recovery : Finds deleted data or remnants of deleted data in the file structure of SQLite3 database.

sqlite3_multithread

File(s)
SQLite3DB.py (It includes single-thread and multi-thread classes using SQLite3.)
singlethread_sqlite3_read_example.py (Example of reading data from sqlite3 database using the single-threaded class)
singlethread_sqlite3_write_example.py (Example of writing data from sqlite3 database using the single-threaded class)
multithread_sqlite3_read_example.py (Example of reading data from sqlite3 database using the multi-threaded class)
multithread_sqlite3_write_example.py(Example of writing data from sqlite3 database using the multi-threaded class)
test.sqlite3 (Example sqlite3 database. Content can be viewed with sqlite3 browser)

Single-Thread singlethread

Multi-Thread multithread

(Source) sqlite3_multithread

sqlite3_multithread

sqlite3_parser

Does not use ready-made sqlite3 libraries, instead reads the database file by parsing.It parses the sqlite3 file structure using the b-tree algorithm and saves it in a separate file. It does not process deleted data.

Screenshot [1]

s1

Screenshot [2]

s3

(Source) Sqlite3 Parser

sqlite3_parser

(Executable) Sqlite3 Parser
sqlite3_parser.rar --> zip password: "sqlite3_parser"
Link = https://drive.google.com/file/d/1JpVBakK6SbPSMnMIAoqp5EU5zlALY9Si/view?usp=sharing

sqlite3_recovery

Finds deleted data or remnants of deleted data in the file structure of SQLite3 database. If the number of columns in a table is given, it produces two log files. If omitted, it just generates a log file.

  1. %time_stamp%_raw_recovery_data.log (It is the file that contains the raw data states of the deleted data or the remains. It is produced in any case.)
  2. %time_stamp%_processed_recovery_data.log (If the number of columns in a table is given, it finds the deleted data in that table. If the header information of each deleted data is damaged, it may not identify that information. For this reason, the success rate of finding such deleted data decreases.)

Screenshot [1]

s2

Screenshot [2]

s5

(Source) Sqlite3 Recovery

sqlite3_recovery

(Executable) Sqlite3 Recovery
sqlite3_recovery.rar --> zip password: "sqlite3_recovery"
Link = https://drive.google.com/file/d/1FzenXC04iXa3efefbuqWDCVUs5aU460g/view?usp=sharing

Legal Warning

Run your tests on virtual machines. The responsibility for illegal use belongs to the user. Shared for educational purposes.