Here's a previous comment of mine with a list of various such things: https://news.ycombinator.com/item?id=34990984
There was some good discussion on that previous post from others, as well.
Here's a previous comment of mine with a list of various such things: https://news.ycombinator.com/item?id=34990984
There was some good discussion on that previous post from others, as well.
- generating structured binary diffs
- creating universal extractors, several custom game formats are covered already
It is in a early stage but would love some feedback!
For instance "if value at offset X is 123, then treat this other block of data as format ABC, otherwise treat it as as DEF". Obviously can get complex. The Adobe PSD format does horrible things like this all over the place (:
You can see it in use in the PNG format template, here: https://github.com/martinlindhe/feng/blob/main/templates/ima...
Over the years there has been a silly amount of projects in this space, it is very hard to keep track of them all.
I did try to summarize the ones I know about in the feng project, see here, under "SIMILAR WORK":
https://github.com/martinlindhe/feng/blob/main/RESOURCES.md
Was there anything in particular you wanted to bring to my attention about the ImHex pattern language?
From a quick glance it looks similar indeed, with the same basic building blocks as feng (data types and structs), while they use a rust inspired format, and I use yaml format (however I also use the rust-inspired data type naming u8, u16, s16 and so on).
A major difference is that feng strives to be usable with minimal/no programming (a custom dsl was developed around this idea), while the ImHex pattern language does look rather classic programming focused data processing (like 010 templates but more pretty syntax)