Образовательный портал Claw.ru
Всё для учебы, работы и отдыха
» Шпаргалки, рефераты, курсовые
» Сочинения и изложения
» Конспекты и лекции
» Энциклопедии

Вызов эту функции после начала выполнения функции main покажет, что к моменту выполнения функции main в списке обработчиков уже зарегистрированы два обработчика. Текущий обработчик, как было показано раньше, установлен библиотекой Runtime. А вот последний установлен системой.

Exception Registration chain:

 Current SEH record: 0x12FFB0

 Prev SEH Record: 0x12FFE0

 Handler: 0x41123A

 Current SEH record: 0x12FFE0

 Prev SEH Record: 0xFFFFFFFF

 Handler: 0x77E94809

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

Итак, нельзя расположить информацию об обработчике перед информацией о runtime-обработчике. Но никто не мешает переписать значение поля hander обработчика runtime-библиотеки, установив его так, чтобы он указывал на нашу функцию. Код, который реализует это, приведен ниже.

void zHookUpSEHChain(SEHHandler handler)

{

 _EXCEPTION_REGISTRATION * pVCExcRec;

 __asm mov eax, FS:[0]

 __asm mov [pVCExcRec], EAX

 // Перебираем блоки в связанном списке. 0xFFFFFFFF означает конец списка.

 while (0xFFFFFFFF != (unsigned)(UINT_PTR)pVCExcRec)


Рекомендуем скачать другие рефераты по теме: онегин сочинение, реферат підприємство.


Категории:




Предыдущая страница реферата | 1  2  3  4  5  6  7  8  9  10  11 |


Поделитесь этой записью или добавьте в закладки

   



Рефераты от А до Я


Полезные заметки

  •