Реферат: Жесткое внедрение DLL в Windows-программы

size = peOffset + sizeof( DWORD ) + sizeof( IMAGE_FILE_HEADER )

+ sizeof( IMAGE_OPTIONAL_HEADER );

fBeg = MapViewOfFile( fMap, FILE_MAP_READ, 0, 0, size);

if (fBeg == NULL)

{

Log->Lines->Add("Ошибкапривызове MapViewOfFile(): ");

parse_error();

CloseHandle(fMap);return;

}

mz_head = (IMAGE_DOS_HEADER *)fBeg;

(DWORD)pe_head = (DWORD)fBeg + peOffset;

//Проверяем, PE или не PE файл

if ( strcmp(pe,(const char *)pe_head) != 0)

{

Log->Lines->Add("Этотфайлнеявляется Portable Executable - файлом.");

UnmapViewOfFile(fBeg);CloseHandle(fMap);

return;

}

UnmapViewOfFile(fBeg);

//По новой отображаем файл в память полностью

fBeg = MapViewOfFile( fMap, FILE_MAP_WRITE, 0, 0, 0);

if (fBeg == NULL)

{

Log->Lines->Add("Ошибкапривызове MapViewOfFile(): ");

parse_error();

CloseHandle(fMap); return;

}

3. Определяем расположение таблицы импорта, выводим информацию об используемых DLL.

mz_head = (IMAGE_DOS_HEADER *)fBeg;

К-во Просмотров: 2257
Бесплатно скачать Реферат: Жесткое внедрение DLL в Windows-программы