I am currently playing around with simple bufferoverflows in a c-program and i try to understand the program by stepping through it in IDA Pro. The program takes an argument and writes it into a buffer with strcpy(). I can pass a simple argument like AAAA... to the programm in Ida Pro (Debugger->process options) and see how the return-adress gets overwritten.What i would like to do now is pass a shellcode as a parameter and see in Ida Pro how the program writes the shellcode in the buffer and overwrites the return-adress.In a shell i would execute something like:$ ./vuln `perl -e 'print \x55\x89\xe5...'`or$ ./vuln `cat shellcode.txt`So my question is: How can i pass non-printable characters as an argument to a programm in IdaPro? 
IDA Pro: Program parameters
ida;shellcode
Try using IDC function StartDebugger. You can pass a C-style string (e.g. \x55\x89\xe5)for program arguments:************************************************* Launch the debugger   arguments:        path - path to the executable file.        args - command line arguments        sdir - initial directory for the processfor all args: if empty, the default value from the database will be used   returns: -1-failed, 0-cancelled by the user, 1-ok   See the important note to the StepInto() functionlong StartDebugger(string path, string args, string sdir);