Storage Systems Seminar: Daniel Bittman
Ever wondered how computers load executables? Ever wondered why executables are so big these days? Why I can't download an Android app without a fiber connection? Why different languages stuggle so much with simple tasks? Why MacOS is not a modern OS? Why we've turned from the light of simplicity and instead chose to use a turing machine to load executables*? How we can invoke the old gods and speak the ancient tongue that is a.out? This talk will answer almost none of these questions, but it will certainly ask some of them!
Join us for a thrilling adventure through hex editors, ELF headers, and a.out madness as we grapple with fundamental research questions like "how small can we make an executable that will still run". Complete with an exploitation of Linux's binary loader to trick it into loading a clearly messed up file, pie charts, and more! All wrapped up in a bow of excuses for how this ties into our research.
*note: ELF is actually awesome and turing complete loading is sweet.
Monday, April 13, 2020 at 1:00 PM
The Virtual World