Overview
This workshop on ARM Assembly and Shellcode Basics aims to teach participants how to write ARM Shellcode from scratch. By covering simple ARM assembly and providing examples of shellcode like a basic execve() shell and a Reverse Shell, participants will learn to create and test shellcode on an ARM QEMU Emulator and actual ARM hardware. The teaching method includes hands-on practice with ARM images on QEMU and Raspberry Pi-2 cluster testing. This course is intended for individuals interested in learning about ARM assembly language and shellcoding.
Syllabus
Intro
Workshop Overview
Features of ARM
Differences between ARM and Intel
Loadstore Architecture
Thumb Mode
Interworking
Conditional Execution
ARM Registers
CPSR
GDB
Instructions
Assembly Language
Assembly Conventions
Assembly Instructions
Assembly Program
Load and Store
Loading Immediate Values
literal pool
literal pool example
Taught by
44CON Information Security Conference