hack.lu 2023

An Introduction to ARM64 Assembly and Shellcode

An Introduction to ARM64 Assembly and Shellcode is a workshop for those interested in getting a quick start into the world of 64-bit ARM binary exploitation. ARM64 is in several ways vastly different than ARM32.

In this bring-your-own-laptop workshop, participants will get to learn the key differences between ARM32 and ARM64 from an assembly language perspective, get some hands-on introduction to writing simple ARM64 assembly code, working with a debugging environment and concluding with writing their own ARM64 shellcode.


AN INTRODUCTION TO ARM64 ASSEMBLY AND SHELLCODE

WORKSHOP AGENDA

  • An introduction to ARM64 architecture and assembly
  • Working with an emulated ARM64 instance
  • Fundamental differences between ARM32 and ARM64 assembly
  • The 64-bit process memory layout and addressing
  • The ARM64 debugging environment
  • Exploring memory corruption bugs on ARM64
  • Practical ARM64 shellcode

To participate interactively in this hands-on workshop, please bring with you:

  • A Linux/macOS system with Docker installed and running

To make the most out of the workshop, it would be awesome if you have:

  • Familiarity with Intel x86 or ARM32 Assembly Language
  • Basic experience with disassembly and reverse engineering
  • A working knowledge of GDB
  • The ability to write simple Python scripts
Saumil Shah

Saumil is an internationally recognised speaker and instructor, having regularly presented at conferences like Blackhat, RSA, CanSecWest, PacSec, EUSecWest, Hack.lu, Hack-in-the-Box, Deepsec, No Hat and others. He has authored two books titled “Web Hacking: Attacks and Defense” and “The Anti-Virus Book”.

Saumil graduated with an M.S. in Computer Science from Purdue University, USA and a B.E. in Computer Engineering from Gujarat University. He spends his leisure time breaking software, flying kites, traveling around the world, and taking pictures