parse_smsdb
Extracts iMessage, RCS, SMS/MMS chat history from iOS database file.
Description
This tool parses sms.db originated from iOS devices and outputs a CSV (common-separated value) table with annotations useful for forensic examination.
Features:
- Highlight row gaps (indicative of deletions)
- Annotate unsent messages
- Flattens edited message data on to root table for easy review
- Output message read time and annotate unread messages (for services supporting read receipts)
- Generate HTML or CSV output file
Getting Started
Prerequisites
Windows
- nil
macOS / Linux
- Python 3.10+
Installation
Windows
- Download https://github.com/h4x0r/parse_sms.db/releases/download/v0.1.8/parse_smsdb-win-x64-0.1.8.zip
- Extract
parse_smsdb.exefrom the downloaded zip file and put it inC:\Windows\system32
macOS / Linux
- Install from PyPI
pip install parse_smsdb
Usage
- Parse sms.db within a .zip archive, e.g.
parse_smsdb 'IACIS Certified Mobile Device Examiner (ICMDE)/03 iOS/iOS Files/Evidence/506 - Editing SMS iOS 16.zip'
- Parse sms.db, e.g.
parse_smsdb 'private/var/mobile/Library/SMS/sms.db'
- Generate HTML File, e.g. (By default will generate CSV file)
parse_smsdb sms.db -o file.html
Version History
- 0.1.8
- Initial beta release
Contact
Albert Hui | albert@securityronin.com | @4n6h4x0r.bsky.social
Project Link: https://github.com/h4x0r/parse_sms.db
Acknowledgments
- IACIS MDF Training Course and Jung Son's teaching
- Magnet Forensic's blog posts: The Meaning of Messages, and A look into iOS 18's changes
- Chirag Mehta for output to file and HTML output format
Release files for parse-smsdb 0.1.14
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| parse_smsdb-0.1.14.tar.gz | 728.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| parse_smsdb-0.1.14-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:736.0 kB
Release files / parse_smsdb-0.1.14.tar.gz
| Download URL | parse_smsdb-0.1.14.tar.gz |
|---|---|
| Size | 728.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c06cc66d8d9254deb08275413124e3137ed5892e794f07ae90c51e2b8d1afb01
|
|
BLAKE2b-256 checksum How to use checksums |
b5a34381328224b26bad7b8383303a7cafe2e508cdff10a859a601ad12270b47
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.2
|
Release files / parse_smsdb-0.1.14-py3-none-any.whl
| Download URL | parse_smsdb-0.1.14-py3-none-any.whl |
|---|---|
| Size | 7.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bb2d13c0c64e05b45d91b313acbb77daddd8e62494da1dac13816d953aa0cb78
|
|
BLAKE2b-256 checksum How to use checksums |
34cc2cbc904753192bc25a67f71c82bf03aa6fc774ebae890af5899331253972
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.2
|