If you’ve never played Doom, the classic first-person shooter that defined the genre for millions and millions of players, you really have no excuse. The game is available on virtually every gaming platform known to man, from the Super Nintendo to the iPhone. Now, thanks to an extremely dedicated hacker, there’s one more device that can run the demon-slaying action game: Canon printers.
Canon’s Pixma wireless printers are all about Web connectivity, with Google Cloud Print functionality and the ability to check ink levels and use various utilities from an easy-to-access online interface. Not thinking that anyone would bother to hack a printer, Canon doesn’t lock down this feature with user authentication, so you don’t need a username or password to access it from anywhere.
In order to allow for updated firmwares, the Pixma Web interface lets users specify an online location to check for a new software update, and this can be exploited to allow for custom firmware installations. Jordon did just that, and spent several months hammering out his own custom software in his spare time. In order to prove just how hackable the printers are he did what any self-respecting hacker would do: He put Doom on it.
Of course, given that the printer’s hardware isn’t set up to accept something like a computer game, cramming Doom onto it was no small feat, but the game now boots up and plays through its demo sequence right on the printer’s tiny LCD screen. The colors are a bit off, but the game does indeed run, and thanks to the printer’s surprisingly capable processor and 10MB of memory. The original release of Doom required a computer with just 4MB of RAM to function.
Jordon estimates that there are roughly 2,000 Canon Pixma printers connected to the Internet with the same firmware vulnerability that led to his Doom hack. Of course, along with installing an early 90s PC game, messing with the printer’s firmware can also completely ruin the device and prevent it from functioning, and Canon is well aware of the issue. The company is currently working on a solution and promises “a fix as quickly as is feasible.”