none
OST 2013 file format: Reading the NBT in OST files from Outlook 2013 RRS feed

  • Question

  • In Outlook 2010 the OST file format was almost identical to the PST format. However, in Outlook 2013 the OST file format has some key differences that soon stops any reading of the structure.

    The first part of reading the structure is to find the NID_MESSAGE_STORE but the NBT is missing some information. You can follow the HEADER to the ROOT to the NBT (via the BREFNBT ) but the NBT doesn't appear to have the cEnt, cEntMax, cbEnt values. Has the BTPAGE structure changed or is there another way to calculate the number of entries?

    Thanks.

    ps I'm posting this in response to an issue being dealt with by a Microsoft Sr Support Escalation Engineer - Outlook Escalation Services.

    REG:113112210971182



    Tuesday, December 3, 2013 5:25 PM

Answers

  • Hi Mark,

    We ended up having to figure it out for ourselves, fortunately it wasn't too hard. The changes we required for reading OST 2013 files have been documented in a blog post.

    Thanks,

    Dave.

    Monday, July 13, 2015 10:47 AM

All replies

  • Hello Antipode

    Thank you for contacting Microsoft Support. There are currently no plans to publish OST file format. Hope that helps.

    Regards


    Tarun Chopra | Escalation Engineer | Open Specifications Support Team

    Wednesday, December 4, 2013 12:42 AM
  • Sorry but that doesn't help at all. We sell a product that customers use to search OST files, which incidently makes your product more useful to them. I'm not asking that you publish the whole OST file format but that you please help us unravel some of the changes that happened with 2013.

    Regards,

    Dave.

    Wednesday, December 4, 2013 8:55 AM
  • Hi Dave,

    Our team supports the Open Protocol Documentation set, per the Open Specification Promise.  As mentioned, there are no plans to document the OST format.  Any similarity of the OST format to the PST format is coincidental and not supported.  Having said that, please contact me via “<dochelp>at<Microsoft>dot<com>” and we can discuss this further.

    Regards,

    Mark Miller | Escalation Engineer | Open Specifications Support Team

    Wednesday, December 4, 2013 10:43 PM
  • I tried contacting that email address but have had no response. Could you please check?

    Thanks,

    Dave.

    Wednesday, December 11, 2013 4:33 PM
  • Hi Dave, I sent you a follow-up e-mail yesterday afternoon. Please let me know if you did not receive it.


    Josh Curry (jcurry) | Escalation Engineer | Open Specifications Support Team

    Thursday, December 12, 2013 3:50 PM
    Moderator
  • In Outlook 2010 the OST file format was almost identical to the PST format. However, in Outlook 2013 the OST file format has some key differences that soon stops any reading of the structure.

    The first part of reading the structure is to find the NID_MESSAGE_STORE but the NBT is missing some information. You can follow the HEADER to the ROOT to the NBT (via the BREFNBT ) but the NBT doesn't appear to have the cEnt, cEntMax, cbEnt values. Has the BTPAGE structure changed or is there another way to calculate the number of entries?


    Thanks.

    ps I'm posting this in response to an issue being dealt with by a Microsoft Sr Support Escalation Engineer - Outlook Escalation Services.

    REG:113112210971182


    I have figured out all the differences in OST 2013 and managed to implement them (including compression).  

    Let me know if you need the solution.

    Matt


    • Edited by Matt Janda Wednesday, September 10, 2014 1:40 PM
    Wednesday, September 10, 2014 1:35 PM
  • Could you please share the information? The reported 'escalation' got as far as a "Supportability Program Manager - Microsoft Open Specifications" before it was closed with a short message:

    "Unfortunately, after discussing with the appropriate Office product development teams, we do not have resources we are able to enlist to help with this request, NDA or no NDA.  As an unsupported format, I can only suggest that you explore the developer community forums or other external resources to get assistance."

    Which I have to admit I thought was pretty poor.

    Wednesday, September 10, 2014 1:55 PM
  • Btw... Is it legal to reverse engineer undocumented (I would call it 'partially' undocumented) Microsoft file formats and present it like that ? 
    Wednesday, September 10, 2014 2:38 PM
  • I don't see why it would be illegal, as long as it wasn't trying to bypass DRM functionality. OpenOffice was reverse engineering Microsoft formats way before they were published. (Microsoft also needs to be careful about preventing access to their formats due to their monopoly status in Office software.)
    Wednesday, September 10, 2014 2:45 PM
  • Hi,

    At some point I will be releasing document with all differences in OST2013. Some donation will be required to cover my expenses for "late night coffees"

    The document will cover only the differences so I assume you have got already previous OST/PST versions covered.  

    If you are trying to solve it on your own I can give you few hints...

     

    The major changes were made in followings: 

    Heap-on-Node (HID)
    B-Tree page (BTPAGE)
    Leaf BBT Entry (BBTENTRY)
    Data Blocks (compression)

    Best Regards,

    Matthew(.Janda at hotmail dot com)




    • Edited by Matt Janda Sunday, February 1, 2015 12:10 PM
    Wednesday, September 10, 2014 3:33 PM
  • Hi Mark,

    We ended up having to figure it out for ourselves, fortunately it wasn't too hard. The changes we required for reading OST 2013 files have been documented in a blog post.

    Thanks,

    Dave.

    Monday, July 13, 2015 10:47 AM
  • Hi Matt, I emailed you about your solution. We bought and have been using IndependentSoft PST.NET library for a while. How can we get your changes that support OST 2013?

    Thanks,

    msaleh6 at hotmail dot com

    Wednesday, February 3, 2016 1:23 PM