Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail



Ответ
 
Опции темы
Старый 13.04.2013, 12:41   #1
RibGeDx
Пользователь
 
Аватар для RibGeDx
 
Регистрация: 10.05.2012
Сообщений: 16
Репутация: 10

skype: theexe6666
По умолчанию Получение информации о процессе

Всем привет! Нужно получить BaseAddress и Size процесса. Т.е. MEMORY_BASIC_INFORMATION. Но вот что то нифига не получается (

Вот код:
Код:

		MEMORY_BASIC_INFORMATION mbi;
		memset(&mbi, 0, sizeof(MEMORY_BASIC_INFORMATION));

		DWORD dwOldProtect = 0;
		HMODULE hMod;

		if(!VirtualProtect(pi.hProcess, sizeof(mbi), PAGE_READWRITE, &dwOldProtect))
			printf("protect error");

		if(VirtualQuery(pi.hProcess, &mbi, sizeof(MEMORY_BASIC_INFORMATION)) != 0)
			hMod = (HMODULE)mbi.AllocationBase;
		else
			printf("vmquery error");

		printf("mbi.AllocationBase= ", hMod);

		return 0;

который ступорится уже на VirtualProtect. Что не так?

P.S. решено.

Код:

		HMODULE hMod = NULL;
		HANDLE hThread = CreateRemoteThread(pi.hProcess, NULL, 0, (LPTHREAD_START_ROUTINE)GetModuleHandle, NULL, 0, NULL);
		WaitForSingleObject(hThread, INFINITE);
		GetExitCodeThread(hThread, (LPDWORD)&hMod);
		CloseHandle(hThread);

		MEMORY_BASIC_INFORMATION mbi;
		VirtualQueryEx(pi.hProcess, (LPCVOID)hMod, &mbi, sizeof(MEMORY_BASIC_INFORMATION));

		printf("mbi.BaseAddress = %X", mbi.BaseAddress);


Последний раз редактировалось RibGeDx; 13.04.2013 в 15:48.
RibGeDx вне форума   Ответить с цитированием
Старый 13.04.2013, 13:07   #2
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,958
Репутация: 6799
По умолчанию

Что значит стопорится?
Что выдает GetLastError()?
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 13.04.2013, 14:09   #3
Ezhik Kihze
Участник клуба
 
Регистрация: 24.12.2012
Сообщений: 639
Репутация: 167
По умолчанию

Вы доку читали?

Цитата:
Changes the protection on a region of committed pages in the virtual address space of the calling process.

To change the access protection of any process, use the VirtualProtectEx function.
Ezhik Kihze вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
c++ получение информации из файла NinjaNoob Помощь студентам 9 27.01.2013 23:52
Получение информации из памяти 9esa Помощь студентам 3 26.03.2012 02:12
Получение информации о принтере mutabor Общие вопросы Delphi 4 17.05.2011 16:37
Получение информации из мр3 GAGARIN-NEW Мультимедиа в Delphi 2 24.03.2008 16:19
Получение информации о классе Sibedir Общие вопросы Delphi 7 07.12.2007 15:37




21:15.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru