4 ms·
I wrote a tool I called the "data file disassembler" somewhere around 15 years ago that is basically this, along w/ a user interface that allowed you to drag a
by davelnewton 12y ago
I wrote a tool I called the "data file disassembler" somewhere around 15 years ago that is basically this, along w/ a user interface that allowed you to drag a selection area and define a "section" and its type.
I used this primarily for reverse-engineering proprietary formats both for personal entertainment, but also while doing work to determine when/if patents were being violated while working for a legal firm.
I had a variety of supported formats, including several microcontroller instruction sets, as I spent a lot of time disassembling ROMs. These had full support for labels etc.
This seems very similar.
- kennytm 12y agoOn Mac there's a GUI tool ["Synalyze It!"][1] which one could apply grammar to binary files. But it's not free anymore. [1]: https://www.synalysis.net https://www.synalysis.net
- MontagFTB 12y agoThere was another tool called General Edit (http://www.quadrivio.com/ge.html http://www.quadrivio.com/ge.html) which used to be available for the Mac but is now defunct. It was one of the inspirations behind Binspector and sounds very similar to the tool you mentioned. edit: grammar
- delhanty 12y agoThe "Synalyze It!" grammar format is XML, and the developer has some sample grammars for download: https://www.synalysis.net/formats.xml https://www.synalysis.net/formats.xml Having wanted a binary grammar format for a while, and just purchased the Pro version of "Synalyze It!" as a starting point, it would be interesting to hear a short non-specialist's summary of the relative merits of your approach to expressing grammars compared with an XML based approach like "Synalyze It!" ... Overall, "Synalyze It!" seems mostly fairly stable and certainly a useful tool well worth the purchase price for the Pro version. However, it is closed source, by a small developer, on a single platform: would much prefer to rely on something with source code available ...
- sitkack 12y agoThe dev is on github, https://github.com/synalysis https://github.com/synalysis send him a push request?
- MontagFTB 12y agoWhat if you compared two descriptions side by side? What about PNG, for which a grammar exists for both: https://www.synalysis.net/Grammars/png.grammar https://www.synalysis.net/Grammars/png.grammar v. https://raw.githubusercontent.com/binspector/binspector/master/bfft/png.bfft https://raw.githubusercontent.com/binspector/binspector/mast... Anything I'd say at this point would be biased, but I would be interested in continuing the conversation.
- delhanty 12y agoA comparison w.r.t. the PNG grammar sounds like an excellent starting point. I could see educational value (and more) in attempting a bi-directional translator between the two grammar formats.
- MontagFTB 12y agoOr, maybe a better question is what grammars are you currently using Synalyze It! for? I have used Binspector for fairly complex file formats and it has held up for my purposes in the past. Would it be worth an hour or two to see if Binspector could pass muster?
- sitkack 12y agoIt is also pretty inexpensive, the Pro version is $30. Uses Python and Lua for extension scripts. I am a fan of https://pypi.python.org/pypi/hachoir-parser https://pypi.python.org/pypi/hachoir-parser