Libsafe работает только на 32-битных архитектурах
- make build: Собирает Libsafe, компилирует эксплойт proof of concept
'thread', а также компилирует код библиотечной интерпозиции 'interpose.so'.
make random MAX_DELAY=x: Рандомизирует интерпозированные задержки в 'interpose.so'
с максимальной задержкой MAX_DELAY на одну интерпозицию.
- bug.sh: Запускает эксплойт PoC 'thread' в окружении, которое предварительно загружает
Libsafe.
- repeatbug.py: Запускает bug.sh 1000 раз и сообщает количество случаев, когда
Libsafe сработал корректно.
- bug-interpose.sh: Запускает эксплойт PoC в окружении, которое предварительно загружает
Libsafe, а также код библиотечной интерпозиции 'interpose.so'
- repeatbug-interpose.py: Запускает bug-interpose.sh 1000 раз и сообщает количество
случаев, когда Libsafe сработал корректно.
- gen_interpose.py: Генерирует interpose.c на основе прототипов функций,
перечисленных в 'func_names.txt'.