Radare2:检查重命名的变量


7

我正在练习Radare2,最新的提交。

radare2 2.3.0-git 16814 @ linux-x86-64 git.2.2.0-5-g61a903315 

在我的会议,我需要局部变量重命名为更容易理解的名称,例如

var int local_110h @ rbp-0x110 
:> afvn local_110h commandLine 

是否有一个命令来检查这是什么变量中,最终有什么指向?

我期待这样的:

px @ commandLine 
px @ [commandLine] 

但它不工作:

:>px @ commandLine 
Invalid address (commandLine) 
|ERROR| Invalid command 'px @ commandLine' (0x70) 

穿境而过RBP完美的作品。

px @ rbp-0x100 
5

您应该使用afvd

[0x00402a00]> afv? 
... 
... 
| afvd name output r2 command for displaying the value of args/locals in the debugger 
... 
... 

只执行afvd将打印你所有的局部变量的值的功能,如果你有一个变量名执行它,你会得到radare2命令的结果:

[0x00402a00]> afvn local_110h commandLine 
[0x00402a00]> afvd commandLine 
pxr $w @rsp+0x110 

你会得到pxr$ w @rsp+0x110,这是一个radare2命令。

您可以添加点.之前执行它:

[0x00402a00]> .afvd commandLine 
0x7fffdc9e9258 0x28ffedf4ccd19d64 d......(

如果,例如,您只需要地址,你可以使用radare的内部grep的。

[0x00402a00]> .afvd commandLine~[0] 
0x7fffdc9e9258 

有关radare的grep的更多信息,请执行~?