I love the windows 7 sticky note app and need to write a quick script to copy my notes to my iphone (easier than bringing a laptop to meetings). How can I extract my notes from the stick notes file (C:\Users\USER\AppData\Roaming\Microsoft\Sticky Notes\StickNotes.snt). The file stores undo entries, or other meta data, for each note, so I can’t simply read n bytes from the start of a note.
Edit:
Sample file – http://www.mediafire.com/download.php?qzgkj5gmdek
The encoding is difficult for me to decode. Text fragments aren’t continuous, they’re broken up by deleted strings (probably allowing for a per-sticky undo), and there aren’t any clear delimiters. There is a forensic app that decodes the files. App description, taken from website…
http://www.simplecarver.com/exchange/articles/article-4.html
Structured Storage Extractor is a utility for reading and extracting information from the Structured storage format (ole container) files.
Apparently the data is stored in an OLE stream format. I tried using the PEAR OLE Library but it didn’t read the stream properly :/.
StickNotes data file is a Compound File (a filesystem within a file, an OLE storage container). Although the contents of a compound file are viewable through a compound file reader (http://www.coco.co.uk/developers/CFX.html), I can’t find a port of the underlying CF/streams protocol.
Related question: How to extract the contents of an OLE container?