Description:ARM processors are growing more and more prevalent in the world; ARM itself claims that more than 20 billion chips have been shipped. Take a moment to appreciate that is about three chips for every man, woman, and child on earth.
The three main topics I aim to cover are (1) how to perform a Linux system call on an ARM processor via assembly, ARM pipelining used in most modern ARM processors and how it came about, and (3) the really cool way ARM can avoid branching, even with conditional control flow. These will be explained in both code, English, and (hopefully successful) live demos using an ARM development board. The end result is to get the audience to understand how to create a simple socket program written in ARM assembly.
Brendan Watters is a Senior Instructor and Course Author at TeleCommunication Systems’ Art of Exploitation Training Center in Hanover, MD. He has written courses covering ARM Assembly, x86 Assembly, Windows Programming, and Windows Kernel Rootkit Development. He received his M.A. in The History of Science in 2005 and his M.S. in Computer Science in 2009. Prior to coming to TCS, Brendan worked for the Department of Defense as a Computer Network Operator and Developer.