Este documento discute conceitos de segurança de sistemas operacionais como formatos de arquivos binários, layout de memória, pilha, buffer overflows e técnicas de exploração de vulnerabilidades como smashing the stack. O objetivo é controlar o fluxo de execução de um programa através de um buffer overflow para executar código malicioso, como um shellcode, que concede acesso root ao atacante.