Second part of my series about exploring mirrord internals. In this one I start scratching the mirrord-layer surface and see how it's dynamically loaded with LD_PRELOAD into binaries to hook into libc functions whilst creating a layer which accepts inputs from mirrord-agent, which are then used to hydrate the hooked libc functions. I spend time in this article to explore this trying to intuitively understand what's going on.