Реферат: Вызов функции в другом процессе
const void* baseAddress,
DWORD AddressOfNames,
DWORD count,
const char* name)
{
// Для сравнения имени его нужно прочитать, для этого нужно знать размер
int size = lstrlenA(name) + 1;
std::auto_ptr<char> candidate(new char[size]);
// Перебираем имена в массиве имён функций
for (int index = 0; index < count; index++)
{
DWORD nameRVA;
// Читаем адрес начала строки
ReadProcessMemory(
hProcess,
reinterpret_cast<const BYTE*>(baseAddress)
+ AddressOfNames + index * sizeof(DWORD),
&nameRVA,
sizeof(nameRVA),
NULL);
// Читаем строку
ReadProcessMemory(
hProcess,
reinterpret_cast<const BYTE*>(baseAddress) + nameRVA,
candidate.get(),
size,
NULL);
if (strcmp(name, candidate.get()) == 0)
{