Показать сообщение отдельно

  #9  
Старый 16.02.2007, 16:15
Cr4sh
Познающий
Регистрация: 25.08.2005
Сообщений: 57
С нами: 10899686

Репутация: 76
По умолчанию

Цитата:
Сообщение от _Great_  
Не совсем в тему, но все же. Поиск базы длл по ее имени в адресном пространстве другого процесса (аналог GetModuleHandle, но для др. адресного пространства).
уж0с... вот то же самое, но без изврата =/
Код:
DWORD RemoteGetModuleHandle(char *name, DWORD dwPid)
{
	MODULEENTRY32 m = {sizeof(m)};
         DWORD dwRet = 0;

	HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwPid);
	if (hSnap == INVALID_HANDLE_VALUE) 
		return NULL; 

	if (!Module32First(hSnap, &m)) 
		return NULL;
	do {
		if (!lstrcmpi(m.szModule, name)) 
                  { 
			dwRet = m.modBaseAddr;
                           break;
                  }
	} while (Module32Next(hSnap, &m));

	CloseHandle(hSnap);
	
	return dwRet;
}
 
Ответить с цитированием