1

我有一个文件,我想在 C 程序中用作用户输入,通过 scanf 请求用户输入(在 linux 中玩耍和学习)

让我们调用程序a.out和内容为 myImput文件,从而:

  • 在外壳中我可以去: cat myInput | ./a.out
  • 在 gdb 中我可以做: run < myInput一旦加载gdb a.out

在radare2中可能吗?我看到了如何注入参数,但不是内容文件作为用户输入

4

1 回答 1

0

要在调试时向程序输入输入,请按照以下说明进行操作:

  1. 创建文件profile.r22
  2. 写下这个文件的内容:
#!/usr/bin/rarun2
program=./a.out
input=aaabbbccc

aaabbbccc您要读取的文件的内容在哪里

  1. 告诉radare2使用这个文件通过命令发送之前的输入:r2 -d ./a.out -e dbg.profile=profile.rr2
  2. 输入dcradare2启动调试

您还可以在某些命令中更快地执行此操作:

{ echo -ne '#!/usr/bin/rarun2\nprogram=./a.out\ninput='; cat myInput; } > profile.rr2;
r2 -d ./a.out -e dbg.profile=profile.rr2

然后仍然启动命令dc

于 2020-01-07T22:51:53.343 回答