【问题标题】:inserting file as user input in radare2 (VS shell & VS gdb) (linux)在radare2(VS shell和VS gdb)(linux)中插入文件作为用户输入
【发布时间】:2019-07-17 19:35:00
【问题描述】:
我有一个文件,我想在 C 程序中用作用户输入,该文件通过 scanf 请求用户输入(在 linux 中播放和学习)
让我们调用程序 a.out 和内容为 myImput 的文件,从而:
- 在 shell 中我可以去:
cat myInput | ./a.out
- 在 gdb 中我可以这样做:
run < myInput 一旦加载了gdb a.out
在radare2中可能吗?
我看到了如何注入参数,而不是作为用户输入的内容文件
【问题讨论】:
标签:
shell
debugging
gdb
radare2
【解决方案1】:
要在调试时向程序输入输入,请按照以下说明操作:
- 创建文件
profile.r22
- 写下这个文件的内容:
#!/usr/bin/rarun2
program=./a.out
input=aaabbbccc
其中aaabbbccc 是您要读取的文件的内容
- 告诉radare2使用这个文件发送之前的输入,命令为:
r2 -d ./a.out -e dbg.profile=profile.rr2
- 在radare2中输入
dc启动调试
您还可以在某些命令中更快地做到这一点:
{ echo -ne '#!/usr/bin/rarun2\nprogram=./a.out\ninput='; cat myInput; } > profile.rr2;
r2 -d ./a.out -e dbg.profile=profile.rr2
然后仍然启动命令dc。