AssemblyARM Assembly (GAS, ARM, Linux, no libc), score: 7, safe
Textual assembly, not machine code.
bpsBPS.
This makes it so you can't use bx
, bl
blx
, push
, pop
, svc
, swi
, str
, stm
, syscall
, mrs
, or any assembler directives. Good luck trying to run a syscall or switch to Thumb. 😈
You can assume your code is placed under this exact header, so don't worry about declaring the function.
.text
.arch armv5te
.arm
.globl _start
_start:
Should be pretty easy for those who are familiar with ARM's assembler. 🙂
My solution I can't get code blocks to work properly in spoilers, so here's a GitHub gist.