我有一个非常大的代码库(内核)的elf文件。我想将它转换为汇编代码。我有一个函数的基址和指令的偏移量。使用这些信息,我想得到具体的指示。我用过" objdump -b binary -m i386 -D file.elf
"从elf文件获取汇编代码,但它生成4GB的数据。我也提到了这个Can I give objdump an address and have it disassemble the containing function?,但它也不适用于我。
答案 0 :(得分:0)
您可以使用 - 起始地址和 - 停止地址选项限制objdump
输出。
对于仅针对单个函数的进程代码,这些选项的值可以从readelf -s
输出中获取,该输出包含该部分中函数的起始地址和函数的大小,以及来自{{输出,包含带有函数的部分的地址:
readelf -S
答案 1 :(得分:0)
我想将其转换为汇编代码。
gdb -q ./elf_file
(gdb) set height 0 # prevent pagination
(gdb) set logging on # output will be mirrored in gdb.txt
(gdb) disassemble 0xffff000008081890 0xffff000008081bf5
(gdb) quit
享受!