Реферат: API Spying

void* address = _GetProcAddress(hLib, name);

if (address == 0)

{

// Несудьба

return NULL;

}

char full_name[MAX_PATH * 2];

GetModuleFileNameA(hLib, full_name, sizeof(full_name)/sizeof(full_name[0]));

strcat(full_name, " ");

if (reinterpret_cast<int>(name) > 0x0000ffff)

{

// Копируемимя

strcat(full_name, name);

}

else

{

// А некоторые функции экспортируются по ординалам...

char ordinal[10];

strcat(full_name, "by ordinal: ");

strcat(full_name, itoa(reinterpret_cast<int>(name), ordinal, 16));

}

COPYDATASTRUCT cd = {0};

// 1 требуется, чтобы учесть в длине завершающий NULL-символ.

cd.cbData = strlen(full_name) + 1;

cd.lpData = full_name;

// посылаемстрочку

int number = SendMessage(g_hSecretWindow, WM_COPYDATA, 0,

reinterpret_cast<LPARAM>(&cd));

// Генерируемфункцию-шпиона

К-во Просмотров: 997
Бесплатно скачать Реферат: API Spying