Отладка приложений

       

Это системная DLL, которую Windows


return ( FALSE); 

}

 if ( ( NULL != pdwHooked) &&

( TRUE == IsBadWritePtr ( pdwHooked, sizeof ( UINT))) )

 {

SetLastErrorEx ( ERROR_INVALID_PARAMETER, SLE_ERROR);

return ( FALSE); 

}

// Это системная DLL, которую Windows 98 не

// разрешает загружать (из-за того, что адрес загрузки >2 Гбайт)? 

if ( ( FALSE == IsNT .()) && ( (DWORD)hModule >= 0x80000000)) 

{

SetLastErrorEx ( ERROR_INVALID_HANDLE, SLE_ERROR);

return ( FALSE); 

}

// Должен ли каждьй элемент массива подключений проверяться .

 //в выпускных построениях?

 if ( NULL != paOrigFuncs) 



// Установить все значения paOrigFuncs в NULL.

memset ( paOrigFuncs, NULL, sizeof ( PROC) * uiCount);

 }

if ( NULL != pdwHooked) 

{

// Установить число функций, подключенных к 0.

*pdwHooked = 0; 

}

// Получить специальный дескриптор импорта.

PIMAGE_IMPORT_DESCRIPTOR plmportDesc =

GetNamedlmportDescriptor ( hModule, szImportMod); 

if ( NULL == plmportDesc)

{

// Затребованный модуль не был импортирован.

 // Ошибку не возвращать.

 return ( TRUE); 

}

// Получить информацию об исходных переходниках для этого DLL. 

// Невозможно использовать информацию переходников, хранящуюся в 

// p!mportDesc->FirstThunk, т. к. загрузчик уже изменил этот массив

 // при установке всех импортов. Исходный переходник обеспечивает

 // доступ к именам функций.

 PIMAGE_THUNK_DATA pOrigThunk =

MakePtr ( PIMAGE_THUNK_DATA

hModule , 

plmportDesc-XDriginalFirstThunk );

// Получить массив p!mportDesc->FirstThunk, в котором я буду

// выполнять подключения и всю черную работу.

 PIMAGE_THUNK_DATA pRealThunk = MakePtr { PIMAGE_THUNK_DATA

hModule , pImportDesc->FirstThunk ); 

// Цикл поиска подключаемых функций,

 while ( NULL != pOrigThunk->ul.Function) 

{

// Искать только функции, которые импортируются по имени, 

// а не те, что импортируются по порядковому номеру.


Содержание  Назад  Вперед







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий