Stagers are used if your actual shellcode is too large to fit it in memory at the time of initial exploitation. Learn how to write a very simple winsock-based stager that reuses an existing socket to then place your whole shellcode in memory in the third part of our exploit development course. Read here: Exploit Stager