Как дать имя глобальному varrible в 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], eax
Я хочу иметь возможность дать адресу 0x140018a38 имя, чтобы оно выглядело примерно так:
0x140001029 mov dword [myGlobal], eax
0 ответов
СРЕДА
- radare2: radare2 4.2.0-git 23519 @ linux-x86-64 git.4.1.1-84-g0c46c3e1e коммит: 0c46c3e1e30bb272a5a05fc367d874af32b41fe4 сборка: 2020-01-08__09: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 /my/example
[0x00000000]> aaaa
...
[0x00000000]> s fcn.140001020
[0x140001020]> pd 1
(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
[0x140001020]> CCa 0x140001020 0x140018a38 = myGlobal
[0x140001020]> pd 1
(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 ; 0x140001029 = myGlobal
[0x140001020]> Cf 2 w myGlobal @ 0x140018a38
[0x140001020]> pd 1 @ 0x140018a38
0x140018a38 format w myGlobal {
myGlobal : 0x140018a38 = 0xffff
} 2
[0x140001020]> q
user@host:~$