我一直在objdump查看Linux ELF二进制文件中的汇编代码。
objdump
有时会间接跳转到存储在rodata(只读数据)部分中的跳转表。
rodata
如何获取objdump或任何其他工具来向我显示此数据部分的内容?
我可以执行程序并检查调试器中的相关地址,但是我不想这样做,因为它必须以交互方式完成。
理想的答案将是找到一个不仅可以向我显示内容,而且可以让我控制显示格式的工具od。
od
objdump -s -j .rodata exefile
给出该rodata部分内容的并排十六进制/可打印ASCII转储,例如:
Contents of section .rodata: 0000 67452301 efcdab89 67452301 efcdab89 gE#.....gE#..... 0010 64636261 68676665 64636261 68676665 dcbahgfedcbahgfe
看起来其中没有任何东西可以控制格式设置,但这只是一个开始。我想你总是可以取出十六进制并将其输入到od :)