找出目标文件函数中使用了哪些函数
find out what functions are used inside object file functions
假设我有 linux 个具有两个函数的内核模块
function A
从内核调用 function c
function B
从内核调用 function d
现在,如果我通过 readelf
和 nm
等工具传递此模块的目标文件,我可以看到二进制文件中使用的符号,但我想知道的是内部使用了哪个函数哪个函数?
what I want to know is which function is used inside which function
objdump -dr kernel_module.ko
会告诉你你想要什么。
您也可以尝试 gdb
。
它是一个基于文本的调试器,您可以使用它来分析和研究您的二进制文件。
首先找出二进制文件的入口地址:
readelf -h my-binary | grep "Entry point"
然后启动 gdb 并加载二进制文件:
gdb my-binary
现在使用你从readelf得到的入口点在my_binary的执行中打断点,以便能够分析它。
break * [address from readlf]
运行 gdb 并命中断点。
run
现在您实际上可以继续研究函数 运行:
info functions
假设我有 linux 个具有两个函数的内核模块
function A
从内核调用 function c
function B
从内核调用 function d
现在,如果我通过 readelf
和 nm
等工具传递此模块的目标文件,我可以看到二进制文件中使用的符号,但我想知道的是内部使用了哪个函数哪个函数?
what I want to know is which function is used inside which function
objdump -dr kernel_module.ko
会告诉你你想要什么。
您也可以尝试 gdb
。
它是一个基于文本的调试器,您可以使用它来分析和研究您的二进制文件。
首先找出二进制文件的入口地址:
readelf -h my-binary | grep "Entry point"
然后启动 gdb 并加载二进制文件:
gdb my-binary
现在使用你从readelf得到的入口点在my_binary的执行中打断点,以便能够分析它。
break * [address from readlf]
运行 gdb 并命中断点。
run
现在您实际上可以继续研究函数 运行:
info functions