如何在radare2中为全局变量命名?

如何在radare2中为全局变量命名?,radare2,Radare2,我有这样的想法: (fcn) fcn.140001020 20 fcn.140001020 (); ; XREFS: CALL 0x140001080 CALL 0x140001098 CALL 0x1400010b0 CALL 0 ; XREFS: CALL 0x140001794 CALL 0x1400017ad CALL 0x140001029 mov dword [0x140018a38], e

我有这样的想法:

(fcn) fcn.140001020 20
   fcn.140001020 ();
           ; XREFS: CALL 0x140001080  CALL 0x140001098  CALL 0x1400010b0  CALL 0
           ; XREFS: CALL 0x140001794  CALL 0x1400017ad  CALL 
           0x140001029      mov dword [0x140018a38], eax
我希望能够为地址0x140018a38指定一个名称,以便它看起来像这样:

           0x140001029      mov dword [myGlobal], eax
环境

  • radare2:radare2 4.2.0-git 23519@linux-x86-64 git.4.1.1-84-g0c46c3e1e提交:0c46c3e1e30bb272a5a05fc367d874af32b41fe4构建:2020-01-08_u09:49:0
  • 系统:Ubuntu 18.04.3 LTS
解决方案

  • 我不确定radare2是否实现了您想要的确切功能,但我们可以使用Cf和CCa命令接近。
    • CCa[-at]|[at][text][@addr]#在给定地址添加/删除评论
    • Cf[?][-][sz][0 | cnt][fmt][a0 a1…][@addr]#格式化内存(参见pf?)
示例

user@host:~$r2/我的/示例
[0x00000000]>aaaa
...
[0x00000000]>s fcn.140001020
[0x140001020]>pd 1
(fcn)fcn.140001020
fcn.140001020();
; 外部参照:调用0x140001080调用0x140001098调用0x140001B0调用0
; 外部参照:调用0x140001794调用0x1400017ad调用
0x14000129 mov dword[0x140018a38],eax
[0x140001020]>CCa 0x140001020 0x140018a38=myGlobal
[0x140001020]>pd 1
(fcn)fcn.140001020
fcn.140001020();
; 外部参照:调用0x140001080调用0x140001098调用0x140001B0调用0
; 外部参照:调用0x140001794调用0x1400017ad调用
0x140001029 mov dword[0x140018a38],eax;0x140001029=myGlobal
[0x140001020]>Cf 2 w myGlobal@0x140018a38
[0x140001020]>0x140018a38的pd 1
0x140018a38格式w myGlobal{
myGlobal:0x140018a38=0xffff
} 2
[0x140001020]>q
user@host:~$ 
环境

  • radare2:radare2 4.2.0-git 23519@linux-x86-64 git.4.1.1-84-g0c46c3e1e提交:0c46c3e1e30bb272a5a05fc367d874af32b41fe4构建:2020-01-08_u09:49:0
  • 系统:Ubuntu 18.04.3 LTS
解决方案

  • 我不确定radare2是否实现了您想要的确切功能,但我们可以使用Cf和CCa命令接近。
    • CCa[-at]|[at][text][@addr]#在给定地址添加/删除评论
    • Cf[?][-][sz][0 | cnt][fmt][a0 a1…][@addr]#格式化内存(参见pf?)
示例

user@host:~$r2/我的/示例
[0x00000000]>aaaa
...
[0x00000000]>s fcn.140001020
[0x140001020]>pd 1
(fcn)fcn.140001020
fcn.140001020();
; 外部参照:调用0x140001080调用0x140001098调用0x140001B0调用0
; 外部参照:调用0x140001794调用0x1400017ad调用
0x14000129 mov dword[0x140018a38],eax
[0x140001020]>CCa 0x140001020 0x140018a38=myGlobal
[0x140001020]>pd 1
(fcn)fcn.140001020
fcn.140001020();
; 外部参照:调用0x140001080调用0x140001098调用0x140001B0调用0
; 外部参照:调用0x140001794调用0x1400017ad调用
0x140001029 mov dword[0x140018a38],eax;0x140001029=myGlobal
[0x140001020]>Cf 2 w myGlobal@0x140018a38
[0x140001020]>0x140018a38的pd 1
0x140018a38格式w myGlobal{
myGlobal:0x140018a38=0xffff
} 2
[0x140001020]>q
user@host:~$ 
还考虑退回逆向工程问题!同时考虑逆向工程问题的检查!