GNU poke (https://jemarch.net/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. GNU poke can also be used to write binary utilities, prototyping, and documentation of binary formats and protocols.
There are many introductory talks to poke available as videos online. This time, we would like to make a comprehensive workshop in which we will be showing how poke can actually be put in practice. The workshop will cover an overview of the poke CLI and basic editing: poking at files, memory of processes. Working in terms of bits, bytes, integers and defining simple data structures on the fly. Then a little tutorial on writing pickles and working with more complex data structures. Also using GDB with the poke integration.