C .文本部分位置独立可执行文件的地址范围
我想要独立于位置的可执行文件的.text部分的地址。使用C .文本部分位置独立可执行文件的地址范围,c,linux,elf,C,Linux,Elf,我想要独立于位置的可执行文件的.text部分的地址。使用readelf-S: Name Type Address Offset Size EntSize Flags Link Info Align .text PROGBITS 0000000000002700 00002700 000000000000167
readelf-S
:
Name Type Address Offset
Size EntSize Flags Link Info Align
.text PROGBITS 0000000000002700 00002700
0000000000001672 0000000000000000 AX 0 0 16
我了解到,它将从超出库加载到内存的位置0x2700字节开始。但是我怎样才能得到可执行文件的加载地址呢?
在运行时(从正在运行的程序)是否有其他方法获取.text节地址范围
在运行时(从正在运行的程序)是否有其他方法获取.text节地址范围
是:您需要在运行时使用并使用
info->dlpi\u addr
在内存中定位PIE
二进制文件。第一次调用回调
将针对主可执行文件。问题出在哪里?我发现并提出了一种适用于非位置独立可执行文件的方法。不幸的是,在我的案例中,它只给出了部分结果。我还需要做什么?