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] 

しかし、それは動作しません:RBPを通過する

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

は完璧に動作します。

px @ rbp-0x100 
5

afvdを使用してください。

[0x00402a00]> afvn local_110h commandLine 
[0x00402a00]> afvd commandLine 
pxr $w @rsp+0x110 
:のみafvdはあなたの関数内のすべてのローカル変数の値を出力します、そしてあなたは、変数名とそれを実行します場合は、結果としてradare2コマンドを取得します実行

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

あなたはpxr$ w @rsp+0x110を取得します。これはradare2コマンドです。それはそれを実行する前に、

あなたはドット.を追加することができます、たとえば、あなただけのアドレスが必要な場合、あなたはradareの内部のgrepを使用することができます

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

。 radareのgrepの詳細については

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

~?

を実行します