我通常运行我的程序:
perl -e 'print "A"x200' | ./vuln_prog
Run Code Online (Sandbox Code Playgroud)
stdin由gets()C++中的函数使用.
如果这只是一个命令参数,我可以通过执行以下操作打开gdb:
gdb ./vuln_prog
run $(perl -e 'print "A"x200')
Run Code Online (Sandbox Code Playgroud)
但是,我的场景不是命令参数,而是输入(STDIN?).我如何在gdb中调试它?我尝试过很多选项,但似乎没什么用.
我通常只是在进程上运行gdb,当它提示用户输入时,输入它,但是我不想只键入"A".我想输入来自\ x00-\xff的所有字符,我无法输入.
zed*_*xff 92
gdb ./vuln_prog
run < filename_with_input
Run Code Online (Sandbox Code Playgroud)