Skip to content

Latest commit

 

History

History
97 lines (61 loc) · 2.76 KB

README.md

File metadata and controls

97 lines (61 loc) · 2.76 KB

pyWhatsUpp

A forensic tool to automatically collect and extract as many artifacts as possible from the WhatsApp desktop/web client.

Requirements

  • Python 3.6+

Features

Collection

  • Automatic
    • From an automatically determined WhatsApp drive and OS (Useful for collection on the same device)
    • From a user defined root directory/drive and OS (Useful for mounted drives)
  • Manual
    • From a user defined WhatsApp data directory (Useful for unusual(?) WhatsApp locations)

Extraction

  • Cached contact avatars
  • General logs
  • Processing logs
  • Event logs
  • WhatsApp username

Interpretation

  • pyWhatsUpp will try to enrich event logs with explanations and interpretations

Hashing

  • pyWhatsUpp supports outputting a list of all collected file hashes

Support

Although pyWhatsUpp can be run on every platform that supports python, collection can only be performed on data/mounts deriven from supported OSes.

OS

  • Windows (Win7-Win11)
  • MacOS

Not supported:

  • Linux

Client

  • WhatsApp desktop for Windows
  • WhatsApp desktop for Mac
  • Firefox browser
  • Microsoft edge browser
  • Chrome browser
  • Opera browser

Not supported:

  • Safari Browser

Usage

Run pyWhatsUpp in-place with automatic collection:
python run.py

Run pyWhatsUpp with strict interpretation (only output valid interpretations):
python run.py -si

Show verbose logs and generate sha256 hashes:
python run.py -v -ha

Run pyWhatsUpp on a specific WhatsApp folder
python run.py -i folderpath

Run pyWhatsUpp on a mounted windows installation drive and perform automatic collection:
python run.py -a -os Windows -i mountedrootpath

Notes

Whilst pyWhatsUpp attempts to preserve the file metadata of collected artifacts the best it can, a separate forensics image should also be made to ensure that the original file metadata can be compared against. Noteably, the python library that pyWhatsUpp uses to copy metadata (shutil) is not reliable enough to ensure the integrity of Accessed and Created timestamps.

Thanks to

Resources for further reading