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

  #2  
Старый 15.10.2009, 00:06
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

вот попробуй мой код. Для проверки корректности работы использую ProcessExplorerNT - он показывает наличие отдочных привилегий
DebugPrivilege(true) - поставить
DebugPrivilege(false) - убрать

Код:
BOOL DebugPrivilege(BOOL Enable)
{
	HANDLE hToken;
	TOKEN_PRIVILEGES tp;
	ULONG d;
	ULONG ret = false;

	if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken))
	{
		tp.PrivilegeCount = 1;
		LookupPrivilegeValueA(0, SE_DEBUG_NAME, &tp.Privileges[0].Luid);
		if (Enable)
		{
			tp.Privileges[0].Attributes = 0x00000002;
		}
		else
		{
			tp.Privileges[0].Attributes = 0x80000000;
		}

		ret = AdjustTokenPrivileges(hToken, false, &tp, sizeof(TOKEN_PRIVILEGES), 0, &d);
		
		CloseHandle(hToken);
	}

	return ret;
}
Если не помогает, значит стоит какаято защита которая это не дает тебе сделать. Кстати каспер при некоторых настройках орет на программы которые пытаются получить эти привилегии )
Еще может быть из-за политики безопасности, так что на вся случай проверь работу еще и на учетке главного админа
 
Ответить с цитированием