I'm sure that I'm posting this in the wrong forum, but I could really do with some help parsing OLE Documents. I've read various weighty works on the OLE format (although I'm not certain I entirely understand them), and I've worked out how to read the header and the (I think) the SAT. I'm having difficulty reading the Directory though. The Directory isn't a problem so much as locating the first byte of the directory (0x400 according to Hex Fiend). I could, I suppose, rely on it always being 0x400 for the file type that I'm trying to read (Outlook MSG), but that'd be bad mojo so I'd like to work it out programmatically. The Header says that the first directory sector is 1 and that the sector size is 9. I'll be damned if I can work out how to turn that into 0x400 though. If anyone has any experience of reading OLE (and given that OmniGraffle and OmniPlan can read Visio and Project, I'm guessing that Omni has plenty of experience), I'd love to hook up with you via this forum of e-mail and thrash this problem out.