Note:
Arm® is a registered trademark of Arm® Limited (or its subsidiaries) in the US and/or elsewhere.
Abstract
This class is planned to provide students with all necessary Arm® and Arm® Assembly language concepts and details used in reverse engineering, malware analysis and exploit development.
We will show details about important instructions and details of Arm® Assembly language that will help class attendees understand reversed code while working on vulnerability research. Students will learn Arm® architecutre and Apple Silicon details. Additionally, students will delve into topics such as Pointer Authentication and Memory Integrity Enforcement. Finally, the course present the core Arm® Assembly that is composed by logical instructions, memory operations, conditional instructions and control flow instructions. At the end of training, short pieces of reversed code are analyzed.
This class will focus on Arm® architecture.
Who Should Attend
This class is planned and organized to professionals that aim to start in reverse engineering and vulnerability research career as well as people already working as incident responders, threat hunters, malware analysts and pentesters.
Key Learning Objectives
This class has the following goals:
- Explain fundamental Arm® architecture.
- Explain APPLE Silicon details
- Explain PAC and MIE (Memory Integrity Enforcement).
- Explain core Arm® Assembly topics such as Logical instructions, Memory operations, Conditional and Control flow instructions.
- Analyze short pieces of Arm® reversed code.
Prerequisite Knowledge
The recommended prior knowledge for attending this class follows below:
- Knowledge in Assembly x86/x64 might be useful.
- Previous knowledge about any programming language might be useful.
Lab Requirements
Students must prepare the following lab configuration:
- Having VMware Workstation, Oracle VirtualBox or Microsoft Hyper-V installed on the system.
- One virtual machine running Ubuntu 24.04+.
- IDA Pro, IDA Free or equivalent product might be useful.
Additional lab instructions will be sent to students prior the class.
Summary of Training Topics
The list of sections presented in this class is:
- Introduction
- Environment configuation
- Arm® architecture
- APPLE Silicon details
- PAC and MIE (Memory Integrity Enforcement)
- Logical instructions
- Memory operations
- Conditional instructions
- Control flow instructions
- Reversing code
Note: Topics can be added, merged or removed without prior notice!