Tweaked by Anand Sastry in 2/2010 and 12/2011 to allow the user to provide shellcode as a \x encoded string on the command-line, if the user doesn't wish to supply a file name that contains raw shellcode.
Some improvements.