performing-sqlite-database-forensics

Recover deleted records from SQLite databases by analyzing freelist and WAL data.

Updated Apr 23, 2026
One-click install
npx skills add https://github.com/YukiIto1999/ctf-sleuth --skill performing-sqlite-database-forensics
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: performing-sqlite-database-forensics
Source: https://github.com/YukiIto1999/ctf-sleuth/tree/main/.claude/skills/performing-sqlite-database-forensics
Command: npx skills add https://github.com/YukiIto1999/ctf-sleuth --skill performing-sqlite-database-forensics

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

Forensic analysts and security teams need to uncover evidence from SQLite databases by recovering deleted records, examining write-ahead logs, decoding timestamps, and extracting data from browser histories, messaging apps, and mobile device databases to support investigations.

Core Features & Use Cases

  • Analyze the SQLite header and freelist to identify recoverable records (including data lingering in freelist trunk and leaf pages).
  • Parse Write-Ahead Log (WAL) files and unallocated space within pages to recover deleted data and reconstruct events.
  • Decode common timestamp formats (Chrome/WebKit, Unix, Mac Absolute, Mozilla PRTime) to human-friendly timelines.
  • Generate comprehensive reports suitable for human review and machine consumption in digital forensics workflows.

Quick Start

Run the agent on a target SQLite database to generate an evidence report.

Frequently Asked Questions about performing-sqlite-database-forensics

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I recover deleted records from a SQLite database?

Recover deleted SQLite records by parsing the database header, traversing the freelist for trunk and leaf pages, and analyzing unallocated space. This extracts lingering data to support forensic investigations and incident response workflows.

Can I extract deleted data from a SQLite WAL file?

Yes, SQLite WAL files contain uncommitted or recently modified data. Parse the Write-Ahead Log and unallocated space within pages to recover deleted data and reconstruct event timelines during forensic analysis.

What is the best way to decode SQLite timestamps from browser history or mobile apps?

Decode SQLite timestamps by converting common formats like Chrome/WebKit, Unix, Mac Absolute, and Mozilla PRTime into human-friendly timelines. This allows analysts to accurately map recovered records to specific events.

Does this SQLite forensics approach work with WhatsApp and iMessage databases?

Yes, SQLite forensics applies to incident response and OSINT workflows involving Chrome, Firefox, WhatsApp, iMessage, and Android databases. It extracts recoverable data and generates comprehensive reports for human review.

How do freelist pages help recover deleted SQLite data?

Freelist pages in SQLite hold unallocated page slots after deletion. Traverse freelist trunk and leaf pages to identify and extract recoverable records that still linger in the database structure but are no longer active.

What limitations exist when recovering deleted SQLite records?

Recovery depends on whether the deleted data still exists in the freelist, WAL, or unallocated space. If pages have been overwritten or vacuumed, the records are permanently lost and cannot be recovered by this method.