Sparkling gems and new releases from the world of Free and Open Source Software
Binary editor
GNU poke
We often look at hexadecimal editors on these pages, and they can be useful for looking into binary files, but we don't often find an actual binary editor like GNU poke. Its name refers to a couple of ancient commands that originated with the DECsystem-10 but became infamous on the Commodore 64. The PEEK
command would be used to view the contents of a memory location, and the POKE
command was used to change its value. Both commands were crude, but they also allowed anyone to hack whatever was running in system memory. They were easy system exploits, and if you had a good understanding of the assembler and the hardware, you could achieve almost anything with lots of PEEK
and POKE
commands, no Internet, and too much time over a long summer break.
GNU poke is a binary editor that will appeal to those old-school (now middle-aged) hackers, but also to anyone with an interest in poking around binary files. It describes itself as "spartan," which in this context means there's not much to see when it's running. Launching it with a file as an argument doesn't open an editor you'd recognize but instead will offer you a prompt and some primitive help. Typing .dump
will generate output that looks like a hex editor, allowing you to see the first 128 bytes of your selected file. But the key to using poke is understanding the structure of the data you're looking at, because that allows you to use operators and even variables to procedurally edit and modify your data. Data can be copied to additional buffers, and there's decent file input and output for your saved changes and discoveries. It's deep and complex and difficult to learn despite the excellent internal documentation, but it's easier than doing this stuff manually in 1986 with PEEK
and POKE
commands and a summer spent reading hardware reference manuals.
Project Website
Game creator
Buy this article as PDF
(incl. VAT)