| title | The syscall of the wild |
|---|
The Syscall of the wild
Compile me with make README.html
- Diff between function call and syscall?
test.candtest.sasm("nop; nop;");creates a "bookmark" in the asm output.- How to clobber memory?
asm(:: "memory");
mov $0xe,%ecx
lea 0x0(%rip),%rbx # 18 <main+0x13>
mov %rbx,%rdx
mov $0x1,%esi
mov $0x1,%edi
call 2a <main+0x25>mov $0x1,%eax
mov $0xe,%edx
mov %eax,%edi
mov %rbx,%rsi
syscall - Security
- Why is switching to kernel-space slow?
- Is it necessary all the time?
- Enter: vDSO
- Return-to-libc
- ASLR
Calling the old vdso "UNSAFE" as a config option is just plain stupid. It's a politicized name, with no good reason except for your political agenda. And when I call it out as such, you just spout the same tired old security nonsense.
-
Use raw syscalls -> no need for libc.
-
attribute((force_align_arg_pointer)) void _start() { ... __builtin_unreachable(); }
- also `-strip` and `-Os`
