Skip to content
Library and tools to access the Personal Folder File (PFF) and the Offline Folder File (OFF) format
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
common
documentation Worked on documentation Jul 13, 2018
dpkg Applied updates and corrected typo Jan 4, 2019
include
jpff Moved libcstring macros to common Nov 8, 2016
libpff Applied updates and worked on tests Mar 16, 2019
m4
manuals Applied updates and worked on tests Mar 16, 2019
msvscpp Applied updates and changes to AppVeyor configuration Jan 14, 2019
pfftools Applied updates Jan 12, 2019
po
pypff-python2 Applied updates Aug 12, 2018
pypff-python3
pypff Applied updates and corrected typo Jan 4, 2019
tests Applied updates and worked on tests Mar 16, 2019
.codecov.yml
.gitignore
.travis.yml Applied updates and worked on tests Mar 16, 2019
AUTHORS Applied updates and corrected typo Jan 4, 2019
COPYING Applied updates Apr 2, 2018
ChangeLog Worked on Python bindings Jan 14, 2017
Makefile.am
NEWS Initial commit of version 20141002. Oct 2, 2014
README Updated README Apr 5, 2017
acinclude.m4
appveyor.yml Applied updates Feb 28, 2019
autogen.ps1
autogen.sh Worked on tests Aug 27, 2017
build.ps1 Applied updates Aug 12, 2018
configure.ac Applied updates and worked on tests Mar 16, 2019
libpff.ini
libpff.pc.in Moved libcstring macros to common Nov 8, 2016
libpff.spec.in Applied updates Jan 12, 2019
runtests.ps1
runtests.sh
setup.py
synclibs.ps1 Applied updates Feb 5, 2018
synclibs.sh Applied updates Aug 12, 2018
syncsharedlibs.sh Applied updates Aug 12, 2018
synctestdata.sh
synczlib.ps1

README

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 appoinment 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

You can’t perform that action at this time.