Hacking The Metal: An Intro to ARM Assembly Language Programming

Presented at DEF CON 31 (2023), Aug. 10, 2023, 9 a.m. (240 minutes)

"RISC architecture is gonna change everything." "Yeah. RISC is good." So said Angelina Jolie and Jonny Lee Miller in 1995. And while many of us weren't looking, RISC quietly changed everything. This workshop will teach an introduction to low-level programming on the CPU that runs your favorite mobile games, apps, and everything else on your personal devices -- and is now creeping onto the desktop and into the datacenters that run the world. We will write assembly code for ARM CPUs, and run it on an emulated Raspberry Pi, using the QEMU emulator. In the process, we will learn the key differences between ARM and the Intel CPUs running our workstations and servers. We will also learn to parallelize operations using the Neon coprocessor, and communicate with devices via the Raspberry's GPIO pins. Finally, we will explore and debug some misbehaving code, and in the end, we will emerge with a deeper understanding of low-level operations as they occur on the devices that play a vital role in our present and our future. Skill Level: Intermediate Prerequisites for students: - Some previous coding experience is helpful, but mostly, a healthy curiosity Materials or Equipment students will need to bring to participate: - Laptop with wifi connectivity, if wishing to participate

Presenters:

  • Eigentourist
    Eigentourist is a programmer who learned the craft in the early 1980s. He began formal education in computer science when the height of software engineering discipline meant avoiding the use of GOTO statements. Over the course of his career, he has created code of beautiful simplicity and elegance, and of horrific complexity and unpredictability. Sometimes it's hard to tell which was which. Today, he works on systems integration and engineering in the healthcare industry.

Similar Presentations: