Реферат: Жесткое внедрение DLL в Windows-программы
Log->Lines->Add("Ошибка при открытии файла: ");
parse_error();
return;
}
//Создаемотображениефайла
HANDLE fMap = CreateFileMapping( f, NULL,
PAGE_READWRITE,
0, 0, NULL);
CloseHandle(f);
if (fMap == NULL)
{
Log->Lines->Add("Ошибкапривызове CreateFileMapping(): ");
parse_error();
return;
}
int size = sizeof( IMAGE_DOS_HEADER );
//Отображаем начало файла в память
LPVOID fBeg = MapViewOfFile( fMap, FILE_MAP_WRITE, 0, 0, size);
if (fBeg == NULL)
{
Log->Lines->Add("Ошибкапривызове MapViewOfFile(): ");
parse_error();
return;
}
2. Проверяем, является ли файл PE-executable:
//Определяем смещение РЕ-заголовка.
mz_head = (IMAGE_DOS_HEADER *)fBeg;
DWORD peOffset = mz_head->e_lfanew;
UnmapViewOfFile(fBeg);