radare2:如何将参数传递给debugee?

时间:2016-09-14 10:14:00

标签: debugging parameter-passing

我想调试程序" id3v2 -c hallo test.mp3"与radare2。 我怎样才能传递参数" -c hallo test.mp3"到radare2?

我只用rarun2找到了一些东西,但是当我Employee时,调试器在rarun2而不在id3v2中。

1 个答案:

答案 0 :(得分:7)

您可以通过多种方式将参数传递给radare2调试程序。

最简单的方法是:

r2 -d program arg1 arg2 arg3
  • r2 是radare2的别名。
  • -d 告诉radare2调试可执行文件。
  • arg1..3 是radare2传递给可执行文件的参数。

另一种方法是在radare2 shell中使用ood命令:

执行radare2 ./program,然后输入ood arg1 arg2 arg3ood命令用于“在调试器模式下重启(使用args)”。

您还可以使用反引号调用ood动态参数。例如,我们希望使用系统中文件的内容作为参数调试我们的程序:

ood `!cat file.txt`

假设file.txt内容为'foo bar',因此这相当于执行ood foo bar

  • 反引号用于传递radare2命令的输出。
  • 正在运行给定命令,如系统(3)所示。

将参数传递给radare2调试程序的另一种方法是使用rarun2配置文件:

$ r2 -R profile.rr2 -d program
$ cat profile.rr2
#!/usr/bin/rarun2
arg1=foo
arg2=bar
  • -R [rarun2]指定要加载的rarun2个人资料。