I am currently playing around with simple buffer overflows in a C program and I am trying 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 program in IDA Pro (Debugger->process options) and see how the return address gets overwritten.
What I would like to do now is pass some shellcode as a parameter and see in IDA Pro how the program writes the shellcode in the buffer and overwrites the return address.
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 program in IDA Pro?