HeaderĪfter reading the simple 8-byte header next the trailer structure at the end of the file has to be parsed. The header file ForFoundationOnly.h has some useful structure definitions for header and trailer. (actually .sfl)Īs described on Wikipedia there’s some documentation about the file format in Apple source code (freely available open source). sfl files in ~/Library/Application Support/. In order to start creating a Synalyze It! / Hexinator grammar I took one of the. strings can also appear as XML files which is another representation of property lists. This is a small list of file extensions of files which actually are binary plist files: plist, nib, sfl, qtz, strings, stringsdict, xcplugindata, xcuserstate, xcspec, xcplugincache, xcrequiredplugins, xcplugindata, webloc, webhistory, tracetemplate, etypes, scnp, scn, sks, colortable, classdescriptions, ibsearchdata, defaults, pbfilespec, loopdata and others… These files come with a variety of file extensions, apparently they are convenient to use by developers. A “little” search revealed that there reside more than 605,000 binary plist files on my system:įind / -type f -name "*" -exec file '' \ | grep "Apple binary property list" | wc -l ResEdit had TMPL resources to do this, which were simple and elegant ways of visualizing data structures.Inspired by the blog post Apple’s BookmarkData – exposed! by I took some extra minutes to build a grammar for binary property list files. Probably a good idea to view this as read-only! :DĮ) Another killer feature would be the ability to specify templates, so that I could annotate and describe segments of data in a file. For instance, I'd like to be able to view the first 512 bytes of my hard drive (the Master Boot Record), which is represented nowhere as a file object. I'm thinking other useful visualizations would include binary, octal, decimal, signed/unsigned integers of various widths, and various character set representations (Latin-1, UTF-8 sequences, UTF-16, etc.).ĭ) A killer feature would be the ability to view raw offsets on the disk (disk editor functionality). Also, when I jump to an offset, it would be nice if the position was highlighted, not just the line.ī) Font sizes / choices should be persistent across relaunches.Ĭ) It would be nice to be able to visualize data as more than int, float, hex and MacRoman. I think HexFiend has the potential to become a must-have Mac app, but there are a few features I would personally like to see before adopting this as my killer-app must-have hex editor:Ī) "Jump to Offset" should be able to handle hex offsets. Its permissive BSD-style license won't burden you. Embeddable: It's really easy to incorporate Hex Fiend's hex or data views into your app.Data inspector: Interpret data as integer or floating point, signed or unsigned, big or little endian.Smart saving: Hex Fiend knows not to waste time overwriting the parts of your files that haven't changed, and never needs temporary disk space.Binary diff: Hex Fiend can show the differences between files, taking into account insertions or deletions. Find what you're looking for with fast searching.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |