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

https://www.jemarch.net/poke

Big and little endians, characters, strings, and even bitmaps can be inspected and modified with GNU poke.

Game creator

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Retro Gaming

    Many computer games from the 1980s and 1990s enjoy cult status. Graphics and sound were not very advanced back then, which forced the producers to impress gamers with good ideas and a convincing level of design. Emulators let you run those classic games on a Linux PC.

  • ScummVM

    The SCUMM engine is the basis of almost all the classic

    adventure games by Lukasfilm Games/LukasArts.

    Now fans can launch these game on Linux thanks to

    ScummVM.

  • Blender

    With a little help from Blender you can create your own 3D models – including animations. This article shows you how to assemble a partially automated virtual watch model with Blender and Python.

  • Sheep-Throwing Marsupial in the "Yo Frankie" Game

    If you've ordered the DVD, you're probably already busy throwing sheep and beating up rats in a lovely virtual countryside.

  • Everyman's Game: "Yo Frankie"

    The "Yo Frankie" game is now available for free download in two versions, for Blender and Crystal Space.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News