GNU poke: The extensible editor for structured binary data
https://www.jemarch.net/poke.html
ToolGNU poke is an interactive, extensible editor for binary data. Not limited to editing basic entities such as bits and bytes, it provides a full-fledged procedural, interactive programming language designed to describe data structures and to operate on them.
poke comes which an online manual and also has a quick start guide.