Skip to main content

Fetch recipients and chat messages from the chat.db database.

Project description

imessage_reader

This is a forensic tool written in Python 3. Use this tool to fetch the content (phone numbers, email addresses and messages) from the chat.db database file on macOS (version 10.14 or above).

Background

Received messages (iMessage or SMS) and attachments will be saved in "~/Library/Messages". This directory contains a "chat.db" file (SQLite3) with two tables of interest: handle and message. The handle table contains the recipients (email address or phone number). The received messages are in the message table.

Note

Since the imessage databases are only available under macos, it makes no sense to use this tool under Windows or Linux.

Requirements

  • Python 3.8+
  • openpyxl
  • setuptools

Install

pip3 install imessage_reader

Usage

Start the program with:

imessage_reader

This will show you all users and messages.

Use

imessage_reader.py -e

to create an Excel file containing users and messages. The file will be stored in the Desktop folder.

Note: You need access to the Library folder in order to read the iMessage database file ("chat.db"). You can add access (for Terminal or iTerm) in

> System Preferences > Security & Privacy > Privacy > Full Disk Access

ToDo

  • Get the date of messages
  • Fetch the date of received messages.
  • Show a list of all known recipients.
  • Did the user receive the message via SMS or via iMessage?
  • Show attachments.
  • Add more tests.

Changelog

see CHANGELOG.rst

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

imessage_reader-0.1.0.tar.gz (6.6 kB view hashes)

Uploaded Source

Built Distribution

imessage_reader-0.1.0-py3-none-any.whl (8.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page