Реферат: Вызов функции в другом процессе

return index;

}

}

// Такой функции нет

return -1;

}

Третья функция использует первые две и находит нужную функцию в указанной DLL в указанном процессе:

// Находит нужную функцию в указанной DLL в указанном процессе.

void* GetProcAddress(HANDLE hProcess, HMODULE hLib, const char* name)

{

// Нам нужен именно адрес загрузки! А результат работы

// LoadLibrary бывает иногда неожиданным..

char* baseAddress = reinterpret_cast<char*>

(reinterpret_cast<DWORD>(hLib) & 0xFFFF0000);

// Смещение секции экспорта

int export_offset = GetExportSectionRVA(hProcess, baseAddress);

if (export_offset <= 0)

{

// Какие-то проблемы с экспортом

return NULL;

}

// Читаем заголовок секции экспорта

IMAGE_EXPORT_DIRECTORY export;

ReadProcessMemory(

hProcess,

baseAddress + export_offset,

&export,

sizeof(export),

NULL);

К-во Просмотров: 371
Бесплатно скачать Реферат: Вызов функции в другом процессе