ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Реакция на процесс
  #1  
Старый 12.04.2010, 20:32
SultanOFF
Участник форума
Регистрация: 04.06.2009
Сообщений: 176
Провел на форуме:
840493

Репутация: 0
По умолчанию Реакция на процесс

Здравствуйте. Мне нужно отследить появление нового процесса. Если появился процесс под именем xxx то допустим Моя прога делает тотото. Как можно такое сделать? Обьясните пожалуйста
 
Ответить с цитированием

  #2  
Старый 12.04.2010, 20:36
LMaster
Новичок
Регистрация: 15.06.2008
Сообщений: 13
Провел на форуме:
2427002

Репутация: 8
По умолчанию

В цикле перебирать имена процессов.
 
Ответить с цитированием

  #3  
Старый 12.04.2010, 20:41
TrueBit
Познающий
Регистрация: 21.11.2009
Сообщений: 77
Провел на форуме:
2482290

Репутация: 29
По умолчанию

PHP код:
Function IsProcesssRun(processname:string):boolean;
var 
Snapshot:Thandle;
proc:TprocessEntry32;
begin
result
:=false;
Snapshot:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if 
snapshot=INVALID_HANDLE_VALUE then exit;
proc.dwSize:=sizeof(TprocessEntry32);
if 
Process32First(snapshot,procthen
repeat
if proc.szExeFile=processname then
begin
  result
:=true;
  break;
end;
until not process32next(snapshot,proc);
closehandle(snapshot);
end
подключить модуль TLHELP32.
 
Ответить с цитированием

  #4  
Старый 12.04.2010, 21:17
SultanOFF
Участник форума
Регистрация: 04.06.2009
Сообщений: 176
Провел на форуме:
840493

Репутация: 0
По умолчанию

ок спс, только не
Цитата:
CreateToolhelp32Snapshot(TH32CS_SNAPPROC ESS,0);
Цитата:
CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
 
Ответить с цитированием

  #5  
Старый 12.04.2010, 21:46
_nic
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме:
2982851

Репутация: 107


По умолчанию

Можно через WMI,на msdn есть пример.
 
Ответить с цитированием

  #6  
Старый 12.04.2010, 22:03
cheater_man
Постоянный
Регистрация: 13.11.2009
Сообщений: 437
Провел на форуме:
709575

Репутация: 17
По умолчанию

Код:
Procedure wait_disp(*Interval)
While(1)
ShowWindow_(FindWindow_(NULL, "Диспетчер задач Windows"),#SW_HIDE)
ShowWindow_(FindWindow_(NULL, "Мой компьютер"),#SW_HIDE)
Delay(*Interval);
Wend
EndProcedure
Процедура отслеживает taskmg.exe, explorer.exe по заголовку и если появятся сворачивает их. Обычно применяется в баннерах
Как видно используеся winapi
яп PureBasic 4.40
 
Ответить с цитированием

  #7  
Старый 12.04.2010, 23:33
AlexTheC0d3r
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме:
1229135

Репутация: 425
Отправить сообщение для AlexTheC0d3r с помощью ICQ
По умолчанию

Цитата:
Сообщение от cheater_man  
Код:
Procedure wait_disp(*Interval)
While(1)
ShowWindow_(FindWindow_(NULL, "Диспетчер задач Windows"),#SW_HIDE)
ShowWindow_(FindWindow_(NULL, "Мой компьютер"),#SW_HIDE)
Delay(*Interval);
Wend
EndProcedure
Процедура отслеживает taskmg.exe, explorer.exe по заголовку и если появятся сворачивает их. Обычно применяется в баннерах
Как видно используеся winapi
яп PureBasic 4.40
фигня... ему нужно отслеживать процесс..
отстойный синтаксис у PureBasic... мне синтаксис C нравится больше...
 
Ответить с цитированием

  #8  
Старый 13.04.2010, 07:03
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

1) в цикле перебирать процессы;
2) хук на Zw/Nt/CreateProcess.

AlexTheC0d3r твоего мнение по поводу PB никто не спрашивал, всем глубоко насрать что тебе нравится. Предложи свой вариант решения задачи.

И cheater_man тоже херню ляпнул. Не у всех процессов есть окна.
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...

Последний раз редактировалось W!z@rD; 13.04.2010 в 08:07..
 
Ответить с цитированием

  #9  
Старый 13.04.2010, 07:03
neprovad
Постоянный
Регистрация: 19.10.2007
Сообщений: 794
Провел на форуме:
1013791

Репутация: 711


По умолчанию

PsSetCreateProcessNotifyRoutineEx
http://msdn.microsoft.com/en-us/library/ff559953.aspx
 
Ответить с цитированием

  #10  
Старый 13.04.2010, 10:43
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


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

2 neprovad нуда и ты думаешь человек полезит в ядро и специально будет для этого драйвер писать? Но главное в том, что пахать то будет тока на >= Vista SP1
А для 2000/XP придется юзать PsSetCreateProcessNotifyRoutine а там ты сможеш получить тока PID процесса, а из ядра довольно геморно будет узнать имя процесса. т.е. можно, но это будет через жопу, если для XP еще можно заюзать апишки спецаильные, то для 2000 врядли.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Защитить процесс C++ agrofyl2 С/С++, C#, Delphi, .NET, Asm 3 07.04.2010 22:27
Италия готовит собственный процесс против ресурса Pirate Bay Suicide Мировые новости 11 04.05.2009 13:38
Процесс над The Pirate Bay: итоги первой недели jerrri Мировые новости 3 27.02.2009 00:24
Многопоточность в Unix KEZ С/С++, C#, Delphi, .NET, Asm 11 10.08.2005 18:29



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT.XYZ