mov eax, большой fs:30h

я анализировал некоторые двоичные файлы x86 и нашел следующую инструкцию, которую я не могу понять. Кто-нибудь может объяснить мне, что я делаю по инструкции?

mov     eax, large fs:30h

я погуглил это, и оказалось, что это некоторые анти-отладочные вещи... но это все, что я знаю.

что значит large означает?? А что делает fs:30 означает??

Я знаю о сегментации, но я не знаю, когда регистр. Скажем cs:, ds: неявно пропускается, когда инструкция ссылается на код или данные. Но что такое fs и что такое gs?

1 ответов


похоже, что это код Windows, загружающий адрес блока среды процесса (PEB) через информационный блок потока, к которому можно получить доступ через сегмент FS.

PEB содержит, среди прочего, флаг, указывающий, отлаживается ли процесс.

MSDN имеет страницу об этом здесь