2013-09-28 5 views
2

После того, как я использовал IDA Pro, чтобы разобрать ELF и я нашел некоторый код, какНекоторые запутанные проблемы в движении задним ходом с МАР о Gs сегменте

*mk_fp(\__gs__,12) или *mk_fp(\__gs__,8) и так далее.

Что это значит? Это что-то значит о системных вызовах или вызовах функций?

Большое спасибо за некоторую помощь

ответ

1

Я предполагаю, что mk_fp означает сделать дальний указатель как таковые они могут быть идея МАР декомпиляции gs:[12] и gs:[8] соответственно.

В 64-битовом ядре gs сегмент используется для хранения данных ядра процессора. В 32-битном пользовательском режиме он обычно используется для локального хранилища потоков.

+0

Адрес inTLS фиксированный или нет? – user2579274

+0

Адрес TLS не фиксирован, каждый поток имеет свои собственные, конечно. Смещения внутри TLS одинаковы, поэтому каждый поток может получить доступ к своему набору значений. Определенная реализация (например, 'libc') определяет макет. – Jester

 Смежные вопросы

  • Нет связанных вопросов^_^