ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

12.04.2010, 20:32
|
|
Участник форума
Регистрация: 04.06.2009
Сообщений: 176
Провел на форуме: 840493
Репутация:
0
|
|
Реакция на процесс
Здравствуйте. Мне нужно отследить появление нового процесса. Если появился процесс под именем xxx то допустим Моя прога делает тотото. Как можно такое сделать? Обьясните пожалуйста 
|
|
|

12.04.2010, 20:36
|
|
Новичок
Регистрация: 15.06.2008
Сообщений: 13
Провел на форуме: 2427002
Репутация:
8
|
|
В цикле перебирать имена процессов.
|
|
|

12.04.2010, 20:41
|
|
Познающий
Регистрация: 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,proc) then
repeat
if proc.szExeFile=processname then
begin
result:=true;
break;
end;
until not process32next(snapshot,proc);
closehandle(snapshot);
end;
подключить модуль TLHELP32.
|
|
|

12.04.2010, 21:17
|
|
Участник форума
Регистрация: 04.06.2009
Сообщений: 176
Провел на форуме: 840493
Репутация:
0
|
|
ок спс, только не
CreateToolhelp32Snapshot(TH32CS_SNAPPROC ESS,0);
CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
|
|
|

12.04.2010, 21:46
|
|
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме: 2982851
Репутация:
107
|
|
Можно через WMI,на msdn есть пример.
|
|
|

12.04.2010, 22:03
|
|
Постоянный
Регистрация: 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
|
|
|

12.04.2010, 23:33
|
|
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме: 1229135
Репутация:
425
|
|
Сообщение от 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 нравится больше...
|
|
|

13.04.2010, 07:03
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
1) в цикле перебирать процессы;
2) хук на Zw/Nt/CreateProcess.
AlexTheC0d3r твоего мнение по поводу PB никто не спрашивал, всем глубоко насрать что тебе нравится. Предложи свой вариант решения задачи.
И cheater_man тоже херню ляпнул. Не у всех процессов есть окна.
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
Последний раз редактировалось W!z@rD; 13.04.2010 в 08:07..
|
|
|

13.04.2010, 07:03
|
|
Постоянный
Регистрация: 19.10.2007
Сообщений: 794
Провел на форуме: 1013791
Репутация:
711
|
|
PsSetCreateProcessNotifyRoutineEx
http://msdn.microsoft.com/en-us/library/ff559953.aspx
|
|
|

13.04.2010, 10:43
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
2 neprovad нуда и ты думаешь человек полезит в ядро и специально будет для этого драйвер писать? Но главное в том, что пахать то будет тока на >= Vista SP1
А для 2000/XP придется юзать PsSetCreateProcessNotifyRoutine а там ты сможеш получить тока PID процесса, а из ядра довольно геморно будет узнать имя процесса. т.е. можно, но это будет через жопу, если для XP еще можно заюзать апишки спецаильные, то для 2000 врядли.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|