nowfound

Dev tools · August 10, 2023

TB

Tetris, but the blocks are ARM instructions that execute in the browser

OFRAK Tetris is a project I started at work about two weeks ago. It's a web-based game that works on desktop and mobile. I made it for my company to bring to events like DEF CON, and to promote our binary analysis and patching framework called OFRAK. In the game, 32-bit, little-endian ARM assembly instructions fall, and you can modify the operands before executing them on a CPU emulator. There are two segments mapped – one for instructions, and one for data (though both have read, write, and execute permissions). Your score is a four byte signed integer stored at the virtual address pointed…

Visit ofrak.comAlternativestop 2% of August 2023

In plain words

OFRAK Tetris is a web-based game for desktop and mobile where falling ARM assembly instructions can be modified and executed in a CPU emulator. Players arrange 32-bit instructions to manipulate a score value stored in virtual memory, earning points by executing code that increases the four-byte integer. The game combines Tetris mechanics with low-level programming, allowing players to download completed games as ELF files for further inspection. Built to showcase the OFRAK binary analysis and patching framework, it runs in the browser using a Unicorn CPU emulator.

written from the facts on this page · September 2026

From the sources

In the maker’s words, at launch

OFRAK Tetris is a project I started at work about two weeks ago. It's a web-based game that works on desktop and mobile. I made it for my company to bring to events like DEF CON, and to promote our binary analysis and patching framework called OFRAK. In the game, 32-bit, little-endian ARM assembly instructions fall, and you can modify the operands before executing them on a CPU emulator. There are two segments mapped – one for instructions, and one for data (though both have read, write, and execute permissions). Your score is a four byte signed integer stored at the virtual address pointed to by the R12 register, and the goal is to use the instructions that fall to make the score value in memory as high as possible. When it's game over, you can download your game as an ELF to relive the glory in GDB on your favorite ARM device. The CPU emulator is a version of Unicorn (https://www.unicorn-engine.org/) that has been cross-compiled to WebAssembly (https://alexaltea.github.io/unicorn.js/), so everything on the page runs in the browser without the need for any complicated infrastructure on the back end. Since I've only been working on this for a short period of time leading up to its debut at DEF CON, there are still many more features I'd eventually like to implement. These include adding support for other ISAs besides ARM, adding an instruction reference manual, and lots of little cleanups, bug fixes, and adjustments. My highest score is 509,644,979, but my average is about 131,378. I look forward to feedback, bug reports, feature requests, and strategy discussions!

More dev tools this month

the category →
  • Dograh592

    The open source VAPI alternative

    Dev tools · 25d ago · dograh.com

  • Meridian530

    Don't let your work go unnoticed. Get promoted!

    Dev tools · 20d ago · meridiona.com

  • x1516

    Lovable for iPhone apps go from idea to App Store

    Dev tools · 11d ago · x1.new

  • Open-source GTM skills for technical founders

    Dev tools · 29d ago · gtmcofounder.com

  • OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.

    Dev tools · 2d ago · opentrailpaper.com

  • Nuphos380

    The AI-Native DevOps Workspace.

    Dev tools · 24d ago · nuphos.ai

Launched alongside, August 2023

the whole month →
  • Resend1,326

    Email for developers

    Dev tools · 2023 · resend.com

  • STORI AI1,320

    Your ideas become visually compelling branded social posts

    AI · 2023 · storiai.com

  • Kombai1,080

    A new AI model that you can prompt with UI designs

    AI · 2023 · kombai.com

  • Understand your audience without 50 interviews

    AI · 2023 · founderpal.ai

  • Lottielab871

    Create and ship lottie animations to sites and apps faster

    Dev tools · 2023 · lottielab.com

  • LC

    Outlines is a Python library that focuses on text generation with large language models. Brandon and I are not LLM experts and started the project a few months ago because we wanted to understand better how the generation process works. Our original background is probabilistic, relational and symbolic programming. Recently we came up with a fast way to generate text that matches a regex (https://blog.normalcomputing.ai/posts/2023-07-27-regex-guide...). The basic idea is simple: regular expressions have an equivalent Deterministic-Finite Automaton (DFA) representation. We…

    AI · 2023 · github.com