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

2 debugging parameter-passing

我想用radare2调试程序"id3v2 -c hallo test.mp3".如何将参数"-c hallo test.mp3"传递给radare2?

我只用rarun2找到了一些东西,但是当我这样做时r2 -d rarun2 program=/usr/bin/id3v2 arg1=-c arg2=hallo arg3=test.mp3,调试器是rarun2而不是id3v2.

Meg*_*ets 8

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

最简单的方法是:

r2 -d program arg1 arg2 arg3
Run Code Online (Sandbox Code Playgroud)
  • r2是radare2的别名.
  • -d告诉radare2调试可执行文件.
  • arg1..3radare2传递给可执行文件的参数.

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

执行radare2 ./program,然后输入ood arg1 arg2 arg3.该ood命令用于" 以调试器模式重新打开(使用args) ".

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

ood `!cat file.txt`
Run Code Online (Sandbox Code Playgroud)

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

  • 反引号用于传递radare2命令的输出.
  • !正在运行给定的命令,如在system(3)中.

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

$ r2 -R profile.rr2 -d program
$ cat profile.rr2
#!/usr/bin/rarun2
arg1=foo
arg2=bar
Run Code Online (Sandbox Code Playgroud)
  • -R [rarun2]指定要加载的rarun2配置文件.