聊聊glibc
海枫
这个作者很懒,什么都没留下…
展开
-
聊聊Linux动态链接中的PLT和GOT(3)——公共GOT表项
前文(聊聊Linux动态链接中的PLT和GOT(2)——延迟重定位)提到所有动态库函数的plt指令最终都跳进公共plt执行,那么公共plt指令里面的地址是什么鬼?把test可执行文的共公plt贴出来:080482a0 <common@plt>: 80482a0: pushl 0x80496f0 80482a6: jmp *0x80496f4 ...第一句,pu...原创 2016-06-11 21:47:00 · 12133 阅读 · 10 评论 -
聊聊Linux动态链接中的PLT和GOT(1)——何谓PLT与GOT
本文从一个具体例子,一步步引出PLT和GOT的定义。原创 2016-06-11 12:56:24 · 36797 阅读 · 21 评论 -
聊聊Linux动态链接中的PLT和GOT(4)—— 穿针引线
通过图表方式,清晰介绍PLT/GOT表的静态结构和每个场景下的动态运行过程原创 2016-07-13 00:01:51 · 11055 阅读 · 14 评论 -
聊聊Linux动态链接中的PLT和GOT(2)——延迟重定位
plt和got引入延迟重定位机制之后,方案复杂度就更高了。为了让大家对延迟机制有深入的理解,将Linux方案写成C语言伪代码。原创 2016-06-11 17:00:26 · 13956 阅读 · 3 评论 -
聊聊Linux中的线程本地存储(1)——什么是TLS
什么是线程本地存储(TLS,Thread Local Storage)呢?相信你看过很多次这个定义,但它表达的内涵是什么呢?本文从变量模型出发,讨论引入多线程编程模式之后,需要重新修改变量模型,从而引入TLS概念。原创 2016-07-17 15:22:03 · 14445 阅读 · 8 评论