When exploiting vulnerabilities in compiled software we are often constrained by the amount of data that can be used, therefore it is important that shellcode is as small as possible.
In this paper the author will describe his attempt to write Win32 shellcode that is as small as possible, in order to perform a common task subject to reasonable constraints.