Topics
Browse the archive by research area.
reverse-engineering
-
2026-10-02Bug Hunting in Retro Games
The bugs that went undetected, or that everyone accepted as intended, are the interesting ones, and retro games have a lot of them. An emulator with good instrumentation lets an agent test many configurations and compare the results, which makes it practical to search for these bugs. The example: a Parasol Stars bug where the second controller port controls whether enemies can fly through walls.
-
2026-08-01Why Minus Twelve?
A colleague sent me a decompiled length check in 2019 asking why it read twelve bytes backwards. Four years later the answer turned out to be statically linked Boost, welding a 2010 std::string layout permanently into the binary.
-
2023-02-01Reversing an ASIC-Assisted Arcade Game
A decade-spanning arcade reverse-engineering story involving Linux, protection hardware, timing, and one very stubborn game.
-
2023-01-29Go To Shell - Reverse Engineering Kernel Modifications with QEMU/gdb
Using QEMU and gdb to chase a kernel modification path until the boot flow gives up its shell.
-
2021-08-20IOPort Compatibility Patching
A practical compatibility patching note on old software that expects direct I/O port access.
-
2021-08-19Time Travel - Win9x Heaps for the 2020s
Compatibility patching notes around old heap behavior, modern Windows, and the weird glue needed between them.
-
2020-05-11Pushing the Envelope - Part Deux
A follow-up unpacking pass that turns earlier reversing notes into cleaner tooling and better assumptions.
-
2019-04-17Pushing the Envelope
A deep dive into unpacking and understanding a protected SDK/library stack rather than just patching around it.
-
2016-08-04System N2 Exposed
A look inside Namco System N2-era arcade hardware and software from the perspective of a reverser trying to make it behave.
-
2015-11-28Adding Keyboard Support to a Crazy Taxi Clone
Input patching and control adaptation work on a game that was never especially interested in keyboard players.
-
2014-10-03Hacking 'I Wanna be the Boshy' Game Saves
A compact game-save hacking note that turns a small target into a useful data-format exercise.
-
2014-08-07Hacking Clocktower - The First Fear
Reverse engineering Clocktower internals, scripting, and tooling around an old console horror title.
-
2014-06-19Compatibility Patching for Classic PC Games
Small compatibility patches and debugging notes for getting older PC games across newer Windows behavior.
-
2013-12-23Pwning a SafeNET Microdog
A practical teardown of a low-cost hardware security module, its client libraries, and the assumptions around dongle-backed licensing.
-
2013-11-12Culdcept Series
A tour through Culdcept save data, compression, and brute-force tooling from a game-hacking angle.
game-hacking
-
2026-10-02Bug Hunting in Retro Games
The bugs that went undetected, or that everyone accepted as intended, are the interesting ones, and retro games have a lot of them. An emulator with good instrumentation lets an agent test many configurations and compare the results, which makes it practical to search for these bugs. The example: a Parasol Stars bug where the second controller port controls whether enemies can fly through walls.
-
2023-02-01Reversing an ASIC-Assisted Arcade Game
A decade-spanning arcade reverse-engineering story involving Linux, protection hardware, timing, and one very stubborn game.
-
2021-10-25Masterpiece - Slapping on a Frontend and Wrapping it Up (Part Six)
The frontend wrap-up for the Masterpiece experiment: enough UI to make the system feel like a coherent console shell.
-
2021-10-25Masterpiece - Putting together an App Format (Part Four)
Packaging the filesystem and runtime assumptions into an app format that can be moved around sanely.
-
2021-10-25Masterpiece - Making a Custom Operating Environment for our Processes (Part Three)
How the project shaped process environment, hooks, and operating context once the filesystem layer existed.
-
2021-10-25Masterpiece - Implementing a Layered Filesystem (Part Two)
A filesystem-layering approach for packaging and redirecting game files without making every install special.
-
2021-10-25Masterpiece - Creating an App Controller (Part Five)
The controller layer that ties app packages, process control, and runtime behavior into one launch path.
-
2021-10-25Masterpiece - Consolizing PC Gaming (Part One)
The opening context for a homebrew attempt to make PC games behave more like a console library.
-
2016-08-04System N2 Exposed
A look inside Namco System N2-era arcade hardware and software from the perspective of a reverser trying to make it behave.
-
2015-11-28Adding Keyboard Support to a Crazy Taxi Clone
Input patching and control adaptation work on a game that was never especially interested in keyboard players.
-
2014-10-03Hacking 'I Wanna be the Boshy' Game Saves
A compact game-save hacking note that turns a small target into a useful data-format exercise.
-
2014-08-07Hacking Clocktower - The First Fear
Reverse engineering Clocktower internals, scripting, and tooling around an old console horror title.
-
2014-06-19Compatibility Patching for Classic PC Games
Small compatibility patches and debugging notes for getting older PC games across newer Windows behavior.
-
2013-11-12Culdcept Series
A tour through Culdcept save data, compression, and brute-force tooling from a game-hacking angle.
windows-internals
-
2021-08-19Time Travel - Win9x Heaps for the 2020s
Compatibility patching notes around old heap behavior, modern Windows, and the weird glue needed between them.
-
2019-07-21WOW64 Rant
An opinionated but technical walk through WOW64, compatibility surface area, and what happens when you try to remove it.
compatibility
-
2026-08-01Why Minus Twelve?
A colleague sent me a decompiled length check in 2019 asking why it read twelve bytes backwards. Four years later the answer turned out to be statically linked Boost, welding a 2010 std::string layout permanently into the binary.
-
2021-10-25Masterpiece - Slapping on a Frontend and Wrapping it Up (Part Six)
The frontend wrap-up for the Masterpiece experiment: enough UI to make the system feel like a coherent console shell.
-
2021-10-25Masterpiece - Putting together an App Format (Part Four)
Packaging the filesystem and runtime assumptions into an app format that can be moved around sanely.
-
2021-10-25Masterpiece - Making a Custom Operating Environment for our Processes (Part Three)
How the project shaped process environment, hooks, and operating context once the filesystem layer existed.
-
2021-10-25Masterpiece - Implementing a Layered Filesystem (Part Two)
A filesystem-layering approach for packaging and redirecting game files without making every install special.
-
2021-10-25Masterpiece - Creating an App Controller (Part Five)
The controller layer that ties app packages, process control, and runtime behavior into one launch path.
-
2021-10-25Masterpiece - Consolizing PC Gaming (Part One)
The opening context for a homebrew attempt to make PC games behave more like a console library.
-
2021-08-20IOPort Compatibility Patching
A practical compatibility patching note on old software that expects direct I/O port access.
-
2021-08-19Time Travel - Win9x Heaps for the 2020s
Compatibility patching notes around old heap behavior, modern Windows, and the weird glue needed between them.
-
2019-07-21WOW64 Rant
An opinionated but technical walk through WOW64, compatibility surface area, and what happens when you try to remove it.
-
2014-06-19Compatibility Patching for Classic PC Games
Small compatibility patches and debugging notes for getting older PC games across newer Windows behavior.
hardware-security
-
2020-05-11Pushing the Envelope - Part Deux
A follow-up unpacking pass that turns earlier reversing notes into cleaner tooling and better assumptions.
-
2019-04-17Pushing the Envelope
A deep dive into unpacking and understanding a protected SDK/library stack rather than just patching around it.
-
2013-12-23Pwning a SafeNET Microdog
A practical teardown of a low-cost hardware security module, its client libraries, and the assumptions around dongle-backed licensing.
arcade
-
2023-02-01Reversing an ASIC-Assisted Arcade Game
A decade-spanning arcade reverse-engineering story involving Linux, protection hardware, timing, and one very stubborn game.
-
2016-08-04System N2 Exposed
A look inside Namco System N2-era arcade hardware and software from the perspective of a reverser trying to make it behave.
emulation
-
2026-10-02Bug Hunting in Retro Games
The bugs that went undetected, or that everyone accepted as intended, are the interesting ones, and retro games have a lot of them. An emulator with good instrumentation lets an agent test many configurations and compare the results, which makes it practical to search for these bugs. The example: a Parasol Stars bug where the second controller port controls whether enemies can fly through walls.
-
2023-02-01Reversing an ASIC-Assisted Arcade Game
A decade-spanning arcade reverse-engineering story involving Linux, protection hardware, timing, and one very stubborn game.
-
2016-08-04System N2 Exposed
A look inside Namco System N2-era arcade hardware and software from the perspective of a reverser trying to make it behave.
-
2014-08-07Hacking Clocktower - The First Fear
Reverse engineering Clocktower internals, scripting, and tooling around an old console horror title.
tooling
-
2026-11-05Small Models, Big Haystack: Triaging Everything Our Agents Write and Run
We should be checking what our agents write and run all the time, and most teams can’t afford to. I tested whether small local models can take the first look at everything, and found that the pipeline around them matters more than the model.
-
2026-10-09Lessons From Running a Swarm of Agents
Why agents skip steps, and what to keep in mind when you start something with a swarm of them, while it runs, when it gets stuck, and when you change your mind about what you wanted. From weeks-long projects with anywhere from five to fifty agents working at once.
-
2026-10-02Bug Hunting in Retro Games
The bugs that went undetected, or that everyone accepted as intended, are the interesting ones, and retro games have a lot of them. An emulator with good instrumentation lets an agent test many configurations and compare the results, which makes it practical to search for these bugs. The example: a Parasol Stars bug where the second controller port controls whether enemies can fly through walls.
-
2023-01-29Go To Shell - Reverse Engineering Kernel Modifications with QEMU/gdb
Using QEMU and gdb to chase a kernel modification path until the boot flow gives up its shell.
-
2020-05-11Pushing the Envelope - Part Deux
A follow-up unpacking pass that turns earlier reversing notes into cleaner tooling and better assumptions.
-
2019-04-17Pushing the Envelope
A deep dive into unpacking and understanding a protected SDK/library stack rather than just patching around it.
-
2014-10-03Hacking 'I Wanna be the Boshy' Game Saves
A compact game-save hacking note that turns a small target into a useful data-format exercise.
-
2014-08-07Hacking Clocktower - The First Fear
Reverse engineering Clocktower internals, scripting, and tooling around an old console horror title.
-
2013-11-12Culdcept Series
A tour through Culdcept save data, compression, and brute-force tooling from a game-hacking angle.
low-level-systems
-
2026-10-02Bug Hunting in Retro Games
The bugs that went undetected, or that everyone accepted as intended, are the interesting ones, and retro games have a lot of them. An emulator with good instrumentation lets an agent test many configurations and compare the results, which makes it practical to search for these bugs. The example: a Parasol Stars bug where the second controller port controls whether enemies can fly through walls.
-
2026-08-01Why Minus Twelve?
A colleague sent me a decompiled length check in 2019 asking why it read twelve bytes backwards. Four years later the answer turned out to be statically linked Boost, welding a 2010 std::string layout permanently into the binary.
-
2023-02-01Reversing an ASIC-Assisted Arcade Game
A decade-spanning arcade reverse-engineering story involving Linux, protection hardware, timing, and one very stubborn game.
-
2023-01-29Go To Shell - Reverse Engineering Kernel Modifications with QEMU/gdb
Using QEMU and gdb to chase a kernel modification path until the boot flow gives up its shell.
-
2021-10-25Masterpiece - Slapping on a Frontend and Wrapping it Up (Part Six)
The frontend wrap-up for the Masterpiece experiment: enough UI to make the system feel like a coherent console shell.
-
2021-10-25Masterpiece - Putting together an App Format (Part Four)
Packaging the filesystem and runtime assumptions into an app format that can be moved around sanely.
-
2021-10-25Masterpiece - Making a Custom Operating Environment for our Processes (Part Three)
How the project shaped process environment, hooks, and operating context once the filesystem layer existed.
-
2021-10-25Masterpiece - Implementing a Layered Filesystem (Part Two)
A filesystem-layering approach for packaging and redirecting game files without making every install special.
-
2021-10-25Masterpiece - Creating an App Controller (Part Five)
The controller layer that ties app packages, process control, and runtime behavior into one launch path.
-
2021-10-25Masterpiece - Consolizing PC Gaming (Part One)
The opening context for a homebrew attempt to make PC games behave more like a console library.
-
2021-08-20IOPort Compatibility Patching
A practical compatibility patching note on old software that expects direct I/O port access.
-
2019-07-21WOW64 Rant
An opinionated but technical walk through WOW64, compatibility surface area, and what happens when you try to remove it.
-
2016-08-04System N2 Exposed
A look inside Namco System N2-era arcade hardware and software from the perspective of a reverser trying to make it behave.
-
2015-11-28Adding Keyboard Support to a Crazy Taxi Clone
Input patching and control adaptation work on a game that was never especially interested in keyboard players.
-
2013-12-23Pwning a SafeNET Microdog
A practical teardown of a low-cost hardware security module, its client libraries, and the assumptions around dongle-backed licensing.
masterpiece
-
2021-10-25Masterpiece - Slapping on a Frontend and Wrapping it Up (Part Six)
The frontend wrap-up for the Masterpiece experiment: enough UI to make the system feel like a coherent console shell.
-
2021-10-25Masterpiece - Putting together an App Format (Part Four)
Packaging the filesystem and runtime assumptions into an app format that can be moved around sanely.
-
2021-10-25Masterpiece - Making a Custom Operating Environment for our Processes (Part Three)
How the project shaped process environment, hooks, and operating context once the filesystem layer existed.
-
2021-10-25Masterpiece - Implementing a Layered Filesystem (Part Two)
A filesystem-layering approach for packaging and redirecting game files without making every install special.
-
2021-10-25Masterpiece - Creating an App Controller (Part Five)
The controller layer that ties app packages, process control, and runtime behavior into one launch path.
-
2021-10-25Masterpiece - Consolizing PC Gaming (Part One)
The opening context for a homebrew attempt to make PC games behave more like a console library.