Code from OSTEP chapter Introduction.
To compile, just type:
See the highly primitive
Makefile for details.
Then, run them! Examples:
prompt> ./cpu A
prompt> ./mem 1
prompt> ./threads 10000
One issue with mem.c is that address space randomization is usually on by default. To turn it off:
Just compile/link as follows: gcc -o mem mem.c -Wall -Wl,-no_pie
From Giovanni Lagorio:
Under Linux you can disable ASLR, without using a debugger, in (at least) two ways:
- Use the command setarch to run a process with ASLR disabled; I typically run
bash, with which I can execute examples, like this:
setarch $(uname --machine) --addr-no-randomize /bin/bash
- Writing 0 into
/proc/sys/kernel/randomize_va_space; you need to be root to do this and this change has (a non-permament) effect on the whole system, which is something you probably don't want. I use this one only inside VMs.