Assembly 关于gs段与IDA反向的几个混淆问题

Assembly 关于gs段与IDA反向的几个混淆问题,assembly,linux-kernel,reverse-engineering,ida,Assembly,Linux Kernel,Reverse Engineering,Ida,有一次我用IDA Pro反汇编了一个ELF,我发现了一些代码,比如 *mk\u fp(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 这是什么意思?它是指系统调用还是函数调用 非常感谢您的帮助我猜mk_fp意味着生成远指针,因此这可能是IDA分别反编译gs:[12]和gs:[8]的想法 在64位内核中,gs段用于存储每个cpu的内核数据。在32

有一次我用IDA Pro反汇编了一个ELF,我发现了一些代码,比如

*mk\u fp(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

这是什么意思?它是指系统调用还是函数调用


非常感谢您的帮助

我猜
mk_fp
意味着生成远指针,因此这可能是IDA分别反编译
gs:[12]
gs:[8]
的想法


在64位内核中,
gs
段用于存储每个cpu的内核数据。在32位用户模式下,它通常用于线程本地存储。

地址inTLS是否固定?TLS的地址不是固定的,当然每个线程都有自己的地址。TLS内的偏移量相同,因此每个线程都可以访问自己的值集。特定的实现(例如,
libc
)定义了布局。