![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Win32 API - Получение прав SYSTEM в Windows 7 |
|
Win32 API - Получение прав SYSTEM в Windows 7
|
Ветеран Сообщения: 1405 |
Написал программу
Как сделать чтобы у процессов, показывалась количество используемой памяти? То есть как при открытии процесса функцией OpenProcess открыть его с правами доступа SYSTEM ? h = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, 0, p[i]); ![]() #include <stdio.h> #include <string.h> #include <windows.h> #include <conio.h> #include <Psapi.h> #include <Sddl.h> #include <AccCtrl.h> #include <Aclapi.h> #pragma comment (lib, "wsock32.lib") #pragma comment (lib, "Kernel32.lib") #pragma comment (lib, "Psapi.lib") #pragma comment (lib, "user32.lib") #pragma comment (lib, "Gdi32.lib") #pragma comment(lib, "advapi32.lib") BOOL CALLBACK e2(HWND hwnd, LPARAM l) { char str[1024]; GetWindowText(hwnd, str, 1024); printf("child: %x %s\n", hwnd, str); return 1; } BOOL CALLBACK e(HWND hwnd, LPARAM l) { char str[1024]; GetWindowText(hwnd, str, 1024); printf("main: %x %s\n", hwnd, str); EnumChildWindows(hwnd, (WNDENUMPROC) &e2, 0); return 1; } int main(int argc, char* argv[]) { DWORD b; DWORD p[1024]; int i; int r; HANDLE h; HMODULE m[1024]; DWORD b2; int j; char str[1024]; PROCESS_MEMORY_COUNTERS pm; HWND hw; HDC hdc; SIZE x; WIN32_FIND_DATA wf; HANDLE hl; HDC hdc2; STARTUPINFO si; PROCESS_INFORMATION pf; int i1,i2,i3,i4; SECURITY_ATTRIBUTES sa1; SECURITY_ATTRIBUTES sa2; char str2[1024]; char str3[1024]; char str4[1024]; SECURITY_INFORMATION sinf; PSID ps1; PSID ps2; PACL pa1; PACL pa2; PSECURITY_DESCRIPTOR sd; printf("error:%x %d\n", GetLastError(), GetLastError()); hl = FindFirstFile("*\0", &wf); printf("%s\n", wf.cFileName); while(FindNextFile(hl, &wf) ) printf("%s\n", wf.cFileName); hw = GetConsoleWindow(); hdc = GetDC(hw); hdc2 = GetDC(NULL); for(i1 = 30, i3 = 600; i1< 130; i1++, i3++) for(i2 = 30, i4 = 600; i2< 130; i2++, i4++) SetPixel(hdc2, i3, i4, GetPixel(hdc2, i1, i2)); SetBkColor(hdc, RGB(0, 255, 0)); ScaleWindowExtEx(hdc, 5, 1, 5, 1, &x); ReleaseDC(hw, hdc); ReleaseDC(0, hdc2); printf("%d %d\n", x.cx, x.cy); SetConsoleTitle("_\0"); EnumProcesses(p, sizeof(p), &b); r = b / sizeof(DWORD); printf("r:%d\n", r); for(i = 0;i < r;i++) { printf("Open: %d ", p[i]); h = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, 0, p[i]); GetSecurityInfo(h, SE_UNKNOWN_OBJECT_TYPE, sinf, &ps1, &ps2, &pa1 ,&pa2, &sd); ConvertSidToStringSid(&ps1, (LPSTR * ) &str2); printf("%s\n", str2); ZeroMemory(&pm, sizeof(pm)); GetProcessMemoryInfo(h, &pm, sizeof(pm) ); printf("\n"); printf("PageFaultCount:%x %d\n", pm.PageFaultCount, pm.PageFaultCount ); printf("PeakWorkingSetSize: %x %d\n", pm.PeakWorkingSetSize, pm.PeakWorkingSetSize / 1024); printf("WorkingSetSize: %x %d\n", pm.WorkingSetSize, pm.WorkingSetSize / 1024); printf("QuotaPeakPagedPoolUsage: %x %d\n", pm.QuotaPeakPagedPoolUsage, pm.QuotaPeakPagedPoolUsage / 1024); printf("QuotaPagedPoolUsage: %x %d\n", pm.QuotaPagedPoolUsage, pm.QuotaPagedPoolUsage / 1024); printf("QuotaPeakNonPagedPoolUsage: %x %d\n", pm.QuotaPeakNonPagedPoolUsage, pm.QuotaPeakNonPagedPoolUsage / 1024); printf("QuotaNonPagedPoolUsage: %x %d\n", pm.QuotaNonPagedPoolUsage, pm.QuotaNonPagedPoolUsage / 1024); printf("PagefileUsage: %x %d\n", pm.PagefileUsage, pm.PagefileUsage / 1024); printf("PeakPagefileUsage: %x %d\n", pm.PeakPagefileUsage, pm.PeakPagefileUsage / 1024); EnumProcessModules(h, m, sizeof(m), &b2); for(j = 0;j < ( sizeof(b2) /sizeof(HMODULE) ) ;j++) { GetModuleFileNameEx(h, m[j], str, 1024); printf("%s\n", str); } CloseHandle(h); printf("\n"); } EnumWindows( (WNDENUMPROC) &e, 0); ZeroMemory(&si, sizeof(si) ); si.cb = sizeof(si); ZeroMemory( &pf, sizeof(pf) ); ZeroMemory(&sa1, sizeof(sa1) ); ZeroMemory(&sa2, sizeof(sa2) ); sa1.nLength = sizeof(sa1); sa1.bInheritHandle = 0; sa2.nLength = sizeof(sa2); sa2.bInheritHandle = 0; if ( ! CreateProcess(0,argv[0],&sa1,&sa2, 0, 0, 0,0, &si, &pf) ) { printf("error:%x %d\n", GetLastError(), GetLastError()); } else { CloseHandle(pf.hProcess); CloseHandle(pf.hThread); } return 0; } |
|
Отправлено: 16:12, 20-11-2014 |
![]() Пользователь Сообщения: 123
|
Профиль | Отправить PM | Цитировать mrcnn, права system можно получить у PsExec
Цитата:
|
|
Отправлено: 23:21, 20-11-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
SHVtYW4= Сообщения: 3451
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 01:30, 21-11-2014 | #3 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Получение прав с помощью .BAT'ника | Лис_Лисицин@vk | Хочу все знать | 2 | 22-03-2014 03:11 | |
Доступ - получение абсолютных прав Администратора | kuprin2015@vk | Microsoft Windows 7 | 9 | 11-09-2013 01:52 | |
Установка Android 4.0 на смартфон HTC Desire S и получение root прав на нем. | SandR12 | Мобильные ОС, смартфоны и планшеты | 6 | 13-03-2013 13:12 | |
[решено] Получение прав root'a в скрипте bash | FATruden | Программирование в *nix | 4 | 03-05-2010 17:11 | |
Получение прав Администратора в Windows | Lexa veider | Защита компьютерных систем | 95 | 21-09-2004 11:11 |
|