Tags: shellcode arm pwn 

Rating: 5.0

### ARVM
Find a way to execute an ARM shellcode where it's opcodes are whitelisted.
The general solution:
1. use `SVCGE` instead of `SVC` to bypass the `SVC` bypass
2. mmap memory (bypass the restriction of access to PC and SP)
3. read `/bin/sh` into the buffer using the `read` syscall (bypass the STR&LDR restriction)
4. call execve
5. $$$

Original writeup (https://github.com/Valmarelox/ctf/tree/master/writeups/codegate-preliminary-2022).