-
Notifications
You must be signed in to change notification settings - Fork 102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Parsing public.url attachments in note BLOB #33
Comments
Can you share a sample of a notes database having this? You can email me if you don't want it shared publicly. |
It is a large database. If you view a web page in Safari on iPhone, you can create a note from the web page which will include a public.url attachment. If you choose the same note, more public.url attachments will be added to the same note. I did find this which describes the Apple note BLOB format in detail (including public.url attachments) and includes a parser written in Ruby (MIT License): Revisiting Apple Notes (2): Easy Embedded Objects https://ciofecaforensics.com/2020/01/13/apple-notes-revisited-easy-embedded-objects/ Revisiting Apple Notes (1): Improved Note Parsing https://ciofecaforensics.com/2020/01/10/apple-notes-revisited/ More embedded objects: https://ciofecaforensics.com/2020/01/20/apple-notes-revisited-galleries/ https://ciofecaforensics.com/2020/01/14/apple-notes-revisited-embedded-tables/ MIT License, written in Ruby: https://github.com/threeplanetssoftware/apple_cloud_notes_parser ISC License, written in Python: |
Well, I don't have an iphone. So, if you could generate some data and share it, I could look into it. |
Here are CSV files with a subset of the data. The BLOB columns are encoded using the SQLite hex() function: https://www.dropbox.com/s/qmmqqs0r2irkxmk/ZICCLOUDSYNCINGOBJECT.csv?dl=0 https://www.dropbox.com/s/8syzrl7bqxtt0t9/ZICNOTEDATA.csv?dl=0 |
I accidentally ended up at this repository while looking for other information about MacOS and was going to offer a suggestion on this issue, but then I saw @renesugar already found everything I had to offer :). I eyeballed You can recreate URLs on a Mac as well, if you don't have an iOS device:
If needed, I can provide some specific URL BLOBs, but this link Rene already provided specifically deals with URLs about half way through. I hope this helps! |
Will take a look as time permits, it would really help if someone could just share sample databases with this info. |
I ended up using a library that parses the various Protobuf objects (including URLs, tables, etc.) embedded in Apple Notes here: https://github.com/renesugar/readnotes/blob/master/notes2html.py The library was sufficient for extracting data to migrate notes; for forensics, there is more data to extract like the thumbnails mentioned. The CSV files that I provided contain examples of Protobuf BLOBs containing URLs. |
Revisited this today. The base query is fine, it's just missing a few columns. This does not attempt to read the protobuf and reconstruct the original note view yet. It just gives you the text content of everything in the note, which mostly works to see what's in it, except for tables, where you don't know which piece of the data was in which row/col. |
Closing this as public.url attachments are now displayed. |
Currently, mac_apt does not extract public.url attachments in the note BLOB of Apple Notes.
When creating a note from a web page, a note containing a public.url attachment is created.
Since the Notes app allows the user to choose which note to use, a note may contain multiple public.url attachments.
Each public.url attachment in the note BLOB contains an UUID that can be used to look up the URL.
This will only extract one public.url attachment from the note BLOB:
e.g. High Sierra
The text was updated successfully, but these errors were encountered: