Перейти к содержанию

c++ список процессов


Рекомендуемые сообщения

Вот скрин
 

Скрытый текст

ZLxROOlasFo.jpg

Вот код:
 

Скрытый текст

//---------------------------------------------------------------------------

#pragma hdrstop
   #include <iostream>
#include <tchar.h>
//---------------------------------------------------------------------------
 #include <Windows.h>
#pragma argsused

bool  GetPriv()
{
	TOKEN_PRIVILEGES Priv, PrivOld;
	DWORD cbPriv = sizeof(PrivOld);
	HANDLE hToken;
	DWORD dwError;

	// получаем токен текущего потока
	if (!OpenThreadToken(GetCurrentThread(),
		TOKEN_QUERY | TOKEN_ADJUST_PRIVILEGES,
		FALSE, &hToken))
	{
		if (GetLastError() != ERROR_NO_TOKEN)
			return FALSE;

		// используем токен процесса, если потоку не назначено
		// никакого токена
		if (!OpenProcessToken(GetCurrentProcess(),
			TOKEN_QUERY | TOKEN_ADJUST_PRIVILEGES,
			&hToken))
			return FALSE;
	}
	Priv.PrivilegeCount = 1;
	Priv.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
	LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &Priv.Privileges[0].Luid);

	// попробуем включить привилегию
	if (!AdjustTokenPrivileges(hToken, FALSE, &Priv, sizeof(Priv),
		&PrivOld, &cbPriv))
	{
		dwError = GetLastError();
		CloseHandle(hToken);
		return SetLastError(dwError), FALSE;
	}

	return TRUE;
}


int _tmain(int argc, _TCHAR* argv[])
{
bool a =GetPriv();
	system("pause");
	return 0;
}
//---------------------------------------------------------------------------

 

Потоки создаются из-за OpenThreadToken

Изменено пользователем ШАРИК
Ссылка на комментарий
Поделиться на другие сайты

@ШАРИК, как я уже писал ранее, hToken нужно закрывать. Я нашел [пример] использования от MS, у них код в общем-то схожий, так что можно просто забить. В любом случае в потоках нет ничего страшного, да и не ты сам их открываешь. Раз винде надо - значит надо.

Ссылка на комментарий
Поделиться на другие сайты

58 минут назад, keng сказал:

@ШАРИК, как я уже писал ранее, hToken нужно закрывать. Я нашел [пример] использования от MS, у них код в общем-то схожий, так что можно просто забить. В любом случае в потоках нет ничего страшного, да и не ты сам их открываешь. Раз винде надо - значит надо.

Согласен, проблема прям высосана из пальца.

 

@ШАРИК, если тебе принципиально получить доступ к структуре PROCESS_MEMORY_COUNTERS , то можно все это дело провернуть на уровне Native Api, тогда не нужно будет получать привилегии и хендлы всякие  по 100 раз открывать:blink:.

 

Изменено пользователем Dino
Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, keng сказал:

@ШАРИК, как я уже писал ранее, hToken нужно закрывать. Я нашел [пример] использования от MS, у них код в общем-то схожий, так что можно просто забить. В любом случае в потоках нет ничего страшного, да и не ты сам их открываешь. Раз винде надо - значит надо.

Так закрыл hToken (CloseHandle(hToken);)  , всё равно пишет о созданных потоках

Изменено пользователем ШАРИК
Ссылка на комментарий
Поделиться на другие сайты

заюзай такое:

DWORD temp;
HMODULE ntdll = GetModuleHandleW(L"ntdll.dll");
NTSTATUS WINAPI (*RtlAdjustPrivilege)(ULONG,BOOLEAN,BOOLEAN,PDWORD);
*(FARPROC*)&RtlAdjustPrivilege = GetProcAddress(ntdll,"RtlAdjustPrivilege");
RtlAdjustPrivilege(20,1,0,&temp); //SeDebugPrivilege

или

extern "C" NTSYSAPI NTSTATUS WINAPI RtlAdjustPrivilege(ULONG,BOOLEAN,BOOLEAN,PDWORD);
или
NTSYSAPI NTSTATUS WINAPI RtlAdjustPrivilege(ULONG,BOOLEAN,BOOLEAN,PDWORD);
DWORD temp;
RtlAdjustPrivilege(20,1,0,&temp); //SeDebugPrivilege

 

7 минут назад, keng сказал:

Ок, давай еще раз. Чем они тебе мешают?

сдался ему этот SeDebugPrivilege lulz

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

1 час назад, keng сказал:

Ок, давай еще раз. Чем они тебе мешают?

Я работаю с потоками . И я очень часто приходится смотреть в лог , какие потоки , когда создаются и завершаются .
Но там ещё и те лишние потоки. . Они очень мешают . Неужели нет способа избавиться от этих потоков ?

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.