配置

Radare2核心在启动时会读取~/.config/radare2/radare2rc,可以在该文件中添加e类命令,根据自己的喜好调整radare2配置。

如果不想Radare2在启动时解析该配置文件,启动时就要指定-N选项。

radare2中一切配置都是通过eval命令实现的,典型的启动配置文件长这样:

$ cat ~/.radare2rc
e scr.color = 1
e dbg.bep   = loader

也可以通过在命令行指定-e 选项修改配置,这个方法可以在保持.radare2.rc文件不变的情况下调整配置。例如下面的这个命令将在不读取配置文件的情况下启动radare2,并修改scr.colorasm.syntax变量。

$ radare2 -N -e scr.color=1 -e asm.syntax=intel -d /bin/ls

在r2内部,配置存在一个哈希表里,分割为不同的命名空间:cfg., file., dbg., scr.等等。

获取所有的配置变量只需在命令行中敲入e,若仅想显示指定空间中的变量就在e后面加上对应的名称,以.作为结尾。例如e file.会显示"file"命名空间中定义的所有变量。

e?可以了解相应的帮助信息

Usage: e [var[=value]]  Evaluable vars
| e?asm.bytes     show description
| e??             list config vars with description
| e a             get value of var 'a'
| e a=b           set var 'a' the 'b' value
| e var=?         print all valid values of var
| e var=??        print all valid values of var with description
| e.a=b           same as 'e a=b' but without using a space
| e,k=v,k=v,k=v   comma separated k[=v]
| e-              reset config vars
| e*              dump config vars in r commands
| e!a             invert the boolean value of 'a' var
| ec [k] [color]  set color for given key (prompt, offset, ...)
| eevar           open editor to change the value of var
| ed              open editor to change the ~/.radare2rc
| ej              list config vars in JSON
| env [k[=v]]     get/set environment variable
| er [key]        set config key as readonly. no way back
| es [space]      list all eval spaces [or keys]
| et [key]        show type of given config variable
| ev [key]        list config vars in verbose format
| evj [key]       list config vars in verbose format in JSON

e命令有一个更易用的图形化替代品,可以通过Ve命令进入,使用方向键(上,下,左,右)在配置变量间进行切换,按下q可以退出。编辑配置的初始界面看起来是这样的:

[EvalSpace]

    >  anal
       asm
       scr
       asm
       bin
       cfg
       diff
       dir
       dbg
       cmd
       fs
       hex
       http
       graph
       hud
       scr
       search
       io

对于一些值存在选择范围的配置变量来说,可以用=?列出可选的值:

[0x00000000]> e scr.nkey = ?
scr.nkey = fun, hit, flag

如果不确定配置变量对应的效果,可以用e?[conf_var]显示该变量对应的描述: If you are not sure about the effect of configuration, you can use e?[conf_var] to display the corresponding description.

[0x00005b20]> e?scr.nkey
            scr.nkey: Select visual seek mode (affects n/N visual commands)

显示所有配置变量的描述然后从中抓取所想要的特性/配置也很方便,下面的这个命令获取scr.下所有命令的描述,然后仅展示其中包含utf的行。 It's also very convenient to list all the configuration variables and grep the features/configuration you want. The following command fetches the description to variables under scr. and display only those lines contain utf.

[0x00005b20]> e?scr ~utf
            scr.utf8: Show UTF-8 characters instead of ANSI
      scr.utf8.curvy: Show curved UTF-8 corners (requires scr.utf8)

最后更新于

这有帮助吗?