Visit Website

To set up a virtual ARM environment using Qemu, introduce ARM assembly, reverse ARM binaries, and demonstrate how to write basic exploits for ARM using the trafman challenge of rwthCTF as an example. Virtual ARM Environment To start we need an environment capable of running ARM binaries. Since I didn't have an ARM machine I created a virtual ARM environment using Qemu. Qemu is similar to VirtualBox or VMWare, except that it can support multiple architectures. This allows you the emulate ARM on your default x86 or x64 machine. First we need to know which ARM architecture to pick. Most Linux distributions support two architectures: armel and armhf. Armel supports the ARMv4 instruction set and emulates floating point operations in software, while armhf supports the ARMv7 instruction set and uses hardware floating point operations. At least that's the case for Debian, Ubuntu uses the term "armel" differently [Ubuntu FAQ, ARM FAQ].

ALTERNATIVES