An Introduction to ARM64 Assembly and Shellcode
10-17, 14:00–16:00 (Europe/Luxembourg), Vianden&Wiltz

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 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 is an internationally recognised speaker and instructor, having regularly presented at conferences like Blackhat, RSA, CanSecWest, PacSec, EUSecWest,, 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