|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Handle чужого процесса
Необходимо получить handle чужого процесса на терминальном сервере, ну и впоследствии произвести несколько действий, используя этот handle.
OpenProcess возвращает только мои процессы, чужие возвращают ноль: Код:
newHandle := OpenProcess(PROCESS_ALL_ACCESS, false, proc_ID); Может кто натолкнет на верную мысль? Ну и вообще это возможно? |
#2
|
|||
|
|||
enumProcess?
|
#3
|
||||
|
||||
Диспетчер задач же как-то это делает
EnumProcesses, получишь массив processID, а дальше открываешь нужный и работаешь. OpenProcesses+GetModuleFileName(вроде как-то так) - получишь имя EXE файла для каждого процесса. Можно использовать для распознавания jmp $ ; Happy End! The Cake Is A Lie. |
#4
|
||||
|
||||
enumprocess вернет PID, а я его уже знаю:
Код:
result := FProcessEntry32.th32ProcessID; Я на терминале под админской учеткой, вижу свои и чужие (запущенные другими пользователями) процессы. На свои процессы я получаю handle, а на чужие OpenProcess возвращает ноль (т.е. не может получить handle). Кто- то может знает как же получить именно хэндл (если это вообще возможно)? З.Ы. закрадывается мысль, что именно хэндл чужого процесса получить "невозможно". |
#5
|
||||
|
||||
Почитав интернеты, стало проясняться, что, скорее всего, без внедрения в чужой процесс своей dll тут не обойтись.
Если кто- то знает, что это не так- прошу отписаться о своих мыслях на этот счет. |
#6
|
||||
|
||||
Странно. У меня
Код:
prc := OpenProcess(PROCESS_ALL_ACCESS, false, prcID); хотя, может, там и не было процессов других юзеров... jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 17.11.2010 в 11:26. |
#7
|
||||
|
||||
OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, False, prcID);
Пишу программы за еду. __________________ |
#8
|
||||
|
||||
Bargest да, скорее всего, нет процессов других пользователей. Свои процессы проходят на УРА.
NumLock спс, но это не работает. Изменение типа доступа ничего не меняет. Подозрение усилилось, что без CreateRemoteThread и LoadLibrary управлять чужим процессом не выйдет. Последний раз редактировалось TOJluK, 17.11.2010 в 14:40. |