ASLR: mmap / malloc demo (lots of details skipped, ie. PIE, shared libraries, etc) tiny allocations done with malloc() are randomly allocated within a "bucket" page allocations with malloc() over pagesize are simply allocated using mmap() mmap() gives us "gap pages" (more on that later..) mmap()-allocated memory malloc()-allocated memory (page size or greater) malloc()-allocated memory (objects < page in size)