Skip to content
/ libpff Public

Library and tools to access the Personal Folder File (PFF) and the Offline Folder File (OFF) format

License

Notifications You must be signed in to change notification settings

libyal/libpff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2f90504 · Aug 26, 2024
Aug 26, 2024
Apr 27, 2024
Mar 18, 2023
Feb 13, 2024
Apr 27, 2024
Apr 27, 2024
Apr 27, 2024
Jun 8, 2024
Apr 27, 2024
Apr 27, 2024
Apr 27, 2024
Apr 27, 2024
Nov 18, 2023
Apr 27, 2024
Apr 27, 2024
Nov 29, 2017
Apr 27, 2024
Feb 13, 2024
Dec 4, 2019
Dec 4, 2019
Mar 18, 2023
Apr 27, 2024
Oct 2, 2014
Dec 5, 2023
Jul 15, 2020
Aug 26, 2024
Apr 27, 2024
Apr 5, 2023
Apr 24, 2023
Aug 26, 2024
Aug 1, 2021
Aug 26, 2024
Nov 8, 2016
Dec 5, 2023
Oct 22, 2023
Jan 6, 2022
Dec 5, 2023
Dec 5, 2023
Oct 22, 2023
Feb 5, 2018
Apr 27, 2024
Sep 6, 2023
Dec 6, 2020
Apr 27, 2024
Feb 13, 2024

Repository files navigation

libpff is a library to access the Personal Folder File (PFF) and the Offline Folder File (OFF) format.

These format are used by Microsoft Outlook to store email, contacts and other data.

Project information:

* Status: alpha
* Licence: LGPLv3+

PFF/OFF is used in several file types:

* PAB (Personal Address Book)
* PST (Personal Storage Table)
* OST (Offline Storage Table)

Supported formats:

* 32-bit ANSI (string)
* 64-bit Unicode (string)
* 64-bit with 4k pages with DEFLATE compression (Compressed OST files) (as of version 20130722)

Additional features:

* item recovery
* handles corrupted encrypted PFF with encryption type none

Also see:

* PFF forensics - analyzing the horrible reference file format: https://github.com/libyal/documentation/blob/master/PFF%20Forensics%20-%20analyzing%20the%20horrible%20reference%20file%20format.pdf
* PFF forensics - e-mail and appointment falsification analysis: https://github.com/libyal/documentation/blob/master/PFF%20forensics%20-%20e-mail%20and%20appoinment%20falsification%20analysis.pdf
* MAPI definitions: https://github.com/libyal/libfmapi/blob/master/documentation/MAPI%20definitions.pdf

Planned:

* Multi-threading support
* The Java (JNI) bindings are not operational and are there as long-term work in progress.

For more information see:

* Project documentation: https://github.com/libyal/libpff/wiki/Home
* How to build from source: https://github.com/libyal/libpff/wiki/Building