sym.imp.kernel32.dll_GetModuleHandleA
是为此地址定义的标志radare2。
此标志名称由 4 个部分组合而成:
sym
对于符号
imp
进口
kernel32.dll
是图书馆的名字
GetModuleHandleA
是库中导入函数的名称
要使用radare2 处理标志,您应该使用该f
命令及其子命令。使用f?
列出所有的人。
对于您的情况,获取给定地址的标志名称的正确方法是使用如下fd
命令:
[0x004073d4]> fd 0x408084
sym.imp.kernel32.dll_GetModuleHandleA
您可以将它拆分为函数和 DLL 名称,方法是使用用于编写雷达脚本的编程语言进行简单的字符串操作。
就个人而言,我会说使用radare2编写脚本的最佳方法是使用r2pipe,它是radare2的一个非常简单的接口。您可能已经开始使用它,但为了以防万一,以下是使用 Python 的简单方式:
import r2pipe
r2 = r2pipe.open("/bin/ls")
r2.cmd("aa")
print(r2.cmd("afl"))
print(r2.cmdj("aflj")) # evaluates JSONs and returns an object
r2.quit()
我建议您阅读Radare2 Book以了解有关radare2 及其使用方法的更多信息。