腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
.
plt
.
plt
.
got
有什么不同?
matplotlib
、
assembly
、
x86-64
、
elf
、
dynamic-linking
.
plt
:在resolver段中,除了0之外,还有蹦床在
plt
[n]上工作,在
plt
[0]上有.
got
.
plt
解析器链接。.
got
.
got
.
plt
:在RW段中,只需地址问题
got
.
plt
已经走了,.
plt
.
got</e
浏览 2
提问于2019-09-24
得票数 8
回答已采纳
1
回答
为什么
linux
在x64中使用两个
GOT
部分?.
GOT
与
.
got
.
plt
linux
、
x86
、
x86-64
、
elf
、
got
我试图弄清楚这两个部分之间的区别,这可能看起来是这个的副本,但给出的答案并没有解释太多,所以我想要一个更详细和简洁的解释。
浏览 9
提问于2020-02-24
得票数 3
回答已采纳
2
回答
为什么静态链接的可执行文件中存在全局偏移表和过程链接表?
linux
、
gcc
、
linker
我不明白为什么静态链接的可执行文件需要
PLT
和
GOT
。我在我的ubuntu x86_64机器上编译了一个hello程序,当我用readelf -S转储节头时,它会显示
PLT
和
GOT
节。我还创建了一个共享库,其中包含一个简单的增量函数,我在没有gcc -shared的情况下编译了这个库,我还看到了
PLT
和
GOT
部分。我也没想到会这样。
浏览 2
提问于2016-01-18
得票数 5
回答已采纳
1
回答
为什么输入偏移量出现错误?
linux
、
relocation
、
plt
pop %r15 6d8: c3 retq$ readelf -S libtest.so[21] .
got
.
plt
PROGBITS 0000000000201000 00001000的绝对位置: 6aa + 0x200956 = 0x201000,
与
readelf -S libtest
浏览 4
提问于2016-10-02
得票数 0
回答已采纳
1
回答
Android:我如何拦截本机函数调用?
android
、
android-ndk
、
arm
、
elf
按照研究论文的方法,我想修改ELF文件的过程链接表(
PLT
)和全局偏移表(
GOT
)。我的想法是让所有函数调用指向我自己的拦截函数,它决定是阻止调用,还是将其传递给原始目标函数。ELF规范说(在第三卷,第二章程序加载和动态链接,第2-13页,“全球偏移表”和“过程链接表”)中,
PLT
和
GOT
的实际内容和形式取决于处理器。我有三个问题: 由于
P
浏览 4
提问于2017-06-20
得票数 1
1
回答
Linux
共享库加载并与其他进程共享代码
linux
、
memory-management
、
linux-kernel
、
shared-libraries
、
dynamic-linking
假设我有一个共享库a.so,它是我的可执行文件首次加载的。我的理解是,将共享库文本部分映射到VMA的中间。我有两个问题;(2)假设启动了第二个可执行文件,它使用相同的共享库a.so。ld.so会识别这个共享库已经加载到物理内存中了吗?理解它是如何工作的?
浏览 1
提问于2020-05-22
得票数 1
回答已采纳
1
回答
使用@
plt
泄漏
GOT
条目
exploit
、
exploit-development
我的计划是通过返回
plt
泄露任何libc地址,但我唯一有用的
plt
存根是printf。以前,当我可以使用
plt
时,我用这个方法编写了一个有效的漏洞,但在本例中,返回printf@
plt
后得到的唯一输出是一个空字符串。
浏览 0
提问于2018-02-14
得票数 2
1
回答
.
got
和.
got
.
plt
部分有什么不同?
linux
、
elf
、
dynamic-linking
ELF格式的.
got
和.
got
.
plt
部分有什么不同?
浏览 2
提问于2012-07-27
得票数 24
回答已采纳
1
回答
带有--增量标志的黄金链接器不适用于目标i386
i386
、
incremental-linking
crt1.o try.o -lc --增量式 第二个链接失败,出现以下错误: 我查看了源代码,发现"init_
got
_
plt
_
浏览 4
提问于2014-02-19
得票数 2
1
回答
GCC遇到多个数字连续选项的开关语句时,创建了错误的相对跳转表
assembly
、
gcc
、
optimization
、
x86-64
、
ld
在构建操作系统时,我不能使用stdlib和pic。此时,GCC优化的开关语句将导致致命的error.It,当它遇到具有大量连续值选项的交换机时,它将使用存储在rodata中的快速跳转查找表,但是这个表似乎在内核上不可用,ld没有正确地设置表(GDB确认了这一点)。由于从ELF到二进制的格式转换不能确保入口点停留在.text的前面,所以我在单个部分中使用了一个"jmpq $kinit“小程序来使引导加载程序更容易找到内核条目。{
浏览 5
提问于2022-10-15
得票数 0
2
回答
ELF中的<.
got
>部分是什么?
x86
、
binary
、
elf
、
bin
、
got
据我所知,
PLT
和
GOT
是处理动态链接函数的部分。
GOT
在ELF中的名字是<.
got
.
plt
>。在ELF中也有<.
浏览 2
提问于2018-08-28
得票数 7
1
回答
我想用hand.How写一个ELF文件,我能让我的精灵文件调用c标准库吗?
assembly
、
linker
、
x86-64
、
elf
我知道内核搜索PT_INTERP程序头并阅读"/lib/ld-
linux
.so.2",我也知道全局偏移表(
GOT
)和过程链接表(
PLT
)。但我不知道如何执行带有PT_INTERP phdr、
GOT
、
PLT
的ELF文件并调用C库。我需要知道它的二进制,以帮助我创建一个手工ELF。
浏览 0
提问于2016-10-03
得票数 5
1
回答
为什么在同一个共享库中使用
PLT
?
shared-libraries
PIC中的一种机制是使用
PLT
(过程链接表)调用函数,其方式是我们的代码保持位置无关,它的基本工作方式如下:对于我们库中调用的每个函数(func),都有一个func@
plt
小过程,它实际上是被调用的。然后,该过程跳转到存储在
GOT
中相应条目中的地址。首先,该地址将指向
PLT
条目,该条目将调用动态链接器解析器来解析实际函数的地址。动态链接器现在将覆盖
GOT
中的条目,指向正确的实际函数。现在,所有这些都是可能的,因为在链接共享库时,调用func的指令
与
func@
plt
之间
浏览 2
提问于2022-01-05
得票数 0
1
回答
linux
如何解析用作扩展的库的未解析符号
c++
、
linux
、
qt
现在让我抓狂的是,为什么所有这些都在
linux
上工作,而不必创建LIB呢?这个windows的东西很讨厌,但是它是非常有意义的,但是在
linux
上我可以构建EXT,即使不用构建APP或LIB,它只是在某种程度上忽略了这些未解决的符号并将其链接起来。为什么
linux
上的应用程序不需要LIB,而windows需要它呢?为什么可以在
linux
上用未解决的外部符号链接一些东西呢?它怎么知道我指的是哪些符号?它在应用程序中找到它们并解决它们的运行时吗?对于任何感兴趣的人来说,这里都是一个完整的源代码: --如果您在
linux
浏览 0
提问于2014-12-10
得票数 9
1
回答
是否每个.so文件都有
PLT
/
GOT
?
x86
、
plt
、
got
我考虑这个问题已经有一段时间了,因为我观察到即使像libc这样真正的基础库也有一个
GOT
/
PLT
,它由malloc()等重要功能组成。 有没有可能创建一个没有
GOT
/
PLT
的共享库?一个只包含C类型列表的.so文件有没有可能没有
GOT
/
PLT
?也许吧,但我不明白为什么在实践中会发生这种情况,而你只需要包含一个.h文件就可以做到这一点!
浏览 3
提问于2017-07-18
得票数 1
1
回答
理解
GOT
(全球偏移表)和
PLT
?
assembly
、
linker
、
static-libraries
、
dynamic-linking
、
got
我知道
GOT
(全球偏移表)帮助我们解析动态链接中的全局符号,这些符号是从另一个链接中引用的。此外,我还读到:“每个共享库都有自己的
GOT
” --但这是有问题的,如果两个程序使用相同的共享库怎么办?关于我的关于的主要问题:如果我不想使用延迟绑定,那么我们为什么要使用
PLT
,为什么不像使用变量一样使用普通的呢?
浏览 8
提问于2021-10-06
得票数 1
回答已采纳
1
回答
为什么动态ELF文件中没有.rel.dyn/.get.
plt
部分?
c
、
linker
、
elf
、
dynamic-linking
、
got
-fPIC -m32 -g -c -o test_printf.so test_printf.c 我想如果运行readelf -S test_printf.so,我会看到.rel.dyn和.rel.
plt
但是,我们必须为这个.
got
.
plt
函数分配一个printf部分,该部分应该位于动态链接的执行部分和动态库(test_printf.so)中。但是,当我运行readelf -S时,没有.
got
.
plt
部分,我对此感到困惑。在动态库(test_printf.so)中不需要这一节吗?我认为这是不可能的。假设t
浏览 8
提问于2020-12-09
得票数 1
回答已采纳
1
回答
如何逆转R_X86_64_JUMP_SLOT重新定位?
c
、
linker
、
shared-libraries
、
x86-64
、
elf
这些偏移量指向全局偏移表(特别是.
got
.
plt
),这样我就可以从objdump -d -s -j .
plt
-j .
got
.
plt
mylib.so获得更多信息。Disassembly of section .
got
.
plt
: 5000: 80 4e 00因此,.
got
.
plt
中的偏移量,即0x1010, 0x102
浏览 3
提问于2021-03-26
得票数 3
回答已采纳
1
回答
共享目标文件中标记为RWE的程序标头
c
、
gcc
、
shared-libraries
、
elf
、
crosstool-ng
我在一个64位的基于英特尔的
Linux
系统上使用交叉编译器来构建我们的一些软件,这样它就可以在32位的PowerPC芯片上运行。交叉编译器是由Crosstools开发的。
浏览 5
提问于2018-02-22
得票数 0
1
回答
为什么gcc默认使用“-z now”链接,虽然延迟绑定是ld的默认设置?
linux
、
gcc
、
ld
、
linker-flags
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-
linux
-gnu/7/collect2 [
浏览 4
提问于2020-06-23
得票数 2
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
为什么需要动态链接?
无聊的时候PWN一下
从四个问题透析Linux下C++编译&链接
Linux与Shell
Linux与Unix 之差异 Linux 中国
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券