Show HN: 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 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://ift.tt/NVERuYe ) that has been cross-compiled to WebAssembly ( https://ift.tt/NiOvKsd ), 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! https://ift.tt/clmdZD2 August 11, 2023 at 05:26AM
Show HN: Tetris, but the blocks are ARM instructions that execute in the browser https://ift.tt/Y49SeGR
Related Articles
Show HN: We are building Figma for developers https://ift.tt/uYx5wSsShow HN: We are building Figma for developers What is Symbols? “The ul… Read More
Show HN: Systema Robotica, a treatise on the order and evolution of robotkind https://ift.tt/4R5dOAIShow HN: Systema Robotica, a treatise on the order and evolution of ro… Read More
Show HN: Shadcn/pro – Advanced Next 15 and React 19 SaaS starter kit https://ift.tt/v9ZOiMKShow HN: Shadcn/pro – Advanced Next 15 and React 19 SaaS starter kit H… Read More
Show HN: An extensive set of RAG implementations+many different strategies https://ift.tt/PEThaUSShow HN: An extensive set of RAG implementations+many different strate… Read More
Show HN: Free Generative Service – AspirArt https://ift.tt/NvoiyjDShow HN: Free Generative Service – AspirArt No account needed, our fir… Read More
Show HN: My Care Voice – We Help You Prepare for the What Ifs https://ift.tt/4vd2xj5Show HN: My Care Voice – We Help You Prepare for the What Ifs We are e… Read More
Show HN: Printing Chess Boards in a Terminal https://ift.tt/2rpxLB9Show HN: Printing Chess Boards in a Terminal I'm doing some fun chess-… Read More
Show HN: Hacker Pulse a TUI for Hacker News in your terminal https://ift.tt/zGpZUvKShow HN: Hacker Pulse a TUI for Hacker News in your terminal https://i… Read More
0 Comments: