информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Атака на InternetПортрет посетителяЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / beginners
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
Господа, будьте снисходительны, не бросайтесь сразу штрафовать за, как вам кажется, глупые вопросы - beginners на то и beginners.
sysenter - что это 02.08.07 14:59  
Автор: Андрей Статус: Незарегистрированный пользователь
<"чистая" ссылка>
При дизасемблировании делфовским дебагером свою прогу наткнулся на эту функцию дальше она по ней не переходит. Что это такое
Это точка перехода в иной мир ;-))))))))) 03.08.07 08:53  
Автор: HandleX <Александр М.> Статус: The Elderman
Отредактировано 03.08.07 08:59  Количество правок: 2
<"чистая" ссылка>
Ядро операционной системы защищено, и крутится процессором в своей "небожительской" части. Когда программа пользователя хочет обратиться к службам операционной системы (к примеру, прочитать файл), она вызывает соотв. функцию API, которая реализована, к примеру, в kernel32.dll. Там ваш вызов немножко дообрабатывается, и, наступает момент, когда в пользовательском режиме уже сделать ничего невозможно, а необходимо вызвать соотв. функцию ядра. И вот, виндовозная dll заботливо укладывает нужные параметры в регистры микропроцессора по заранее условленным M$ законам, как то номер службы, дескриптор файла и т.п., и вызывается SYSENTER, великий и ужасный. Разверзаются небеса, и программе "кажется", что данные из файла чудесным образом очутились в заказанной программой области памяти. ;-)
Но на самом деле поработало ядро. Дельфийский отладчик не может справляться с такой ситуацией, поскольку он поставил точку останова сразу за SYSENTER'ом, а ядро возвращает управление в программу не туда, а куда-то в другое место, я уже не помню. Поэтому прога продолжает работать, а отладчик остаётся с носом ;-)

SYSENTER в процах появилась с приходом PII, до этого использовалась инструкция INT. Соответственно, в Win2k ещё использовалась INT, SYSENTER появился начиная c WinXP и старше.

SYSENTER работает чуть быстрее.

-------------------------------
Инструкция SYSENTER аналогична инструкции INT с той лишь разницей, что не хранит вектор прерывания в таблице IDT с последующий его выборкой и передачей управления, а вызывает код, адрес которого расположен в одном из регистров MSR.
-------------------------------
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach