Binary 如何使用readelf确定要重新定位的内容
从下面的代码片段中,我可以看到重新定位条目将应用于某个部分的偏移量Binary 如何使用readelf确定要重新定位的内容,binary,elf,loader,dynamic-loading,readelf,Binary,Elf,Loader,Dynamic Loading,Readelf,从下面的代码片段中,我可以看到重新定位条目将应用于某个部分的偏移量0x000000201018,但我如何确定哪个部分 而且我所有的部分都小于这个偏移量。这意味着什么 搬迁: Relocation section '.rela.plt' at offset 0x4f8 contains 1 entries: Offset Info Type Sym. Value Sym. Name + Addend 000000201018 0
0x000000201018
,但我如何确定哪个部分
而且我所有的部分都小于这个偏移量。这意味着什么
搬迁:
Relocation section '.rela.plt' at offset 0x4f8 contains 1 entries:
Offset Info Type Sym. Value Sym. Name + Addend
000000201018 000300000007 R_X86_64_JUMP_SLO 0000000000000000 printk + 0
章节标题:
Section Headers:
[Nr] Name Type Address Offset
Size EntSize Flags Link Info Align
...
[ 6] .rela.plt RELA 00000000000004f8 000004f8
0000000000000018 0000000000000018 AI 3 21 8
...
[21] .got.plt PROGBITS 0000000000201000 00001000
0000000000000020 0000000000000008 WA 0 0 8
应用重定位的节在
节标题的info
字段中指定。根据问题中的示例elf,重新定位部分.rela.plt
适用于部分编号21
,.got.plt
部分
偏移量字段对于对象文件和共享对象文件具有不同的含义。对于可重定位文件,该值是从节开头到受重定位影响的存储单元的字节偏移量。对于可执行文件或共享对象,该值是受重定位影响的存储单元的虚拟地址
来源/更多信息: