Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Узнать что мой процесс хотят завершить


Автор: ne0n 12.7.2007, 16:15
Вообщем я думаю из сабжа все понятно,если мою программу пытаються завершить из вне, то выдать имя проги и согласиться с завершением или нет. Единственное что приходит в голову это перехват, но перехват в юзер моде всяким антивирусам может показаться подозрительным и они будут тыкать пальцом на мою программу как на потенциальный вирус! Кернел мод для меня относительно далекая тема, хотя я читал что на форуме кто то умудрился замутить перехват в ядре(драйвер на делфи). Отсяда вопрос если какойто альтернативный вариант??? 

Автор: W4FhLF 12.7.2007, 21:05
Прежде чем попасть в кернел-мод и осуществить перехват оттуда, тебе надо загрузить драйвер, а это контролируется всеми АВ и проактивными защитами. Т.е. что в юзермоде, что в кернелмоде твоё приложение будет вызывать подозрения у соотв. ПО, поэтому с этой т.з. ring0 - не выход. 

Цитата(ne0n @  12.7.2007,  16:15 Найти цитируемый пост)
 Отсяда вопрос если какойто альтернативный вариант??? 


Нет. 

Автор: ne0n 14.7.2007, 10:05
ну а что тогда можно сделать???

Автор: W4FhLF 14.7.2007, 10:21
Цитата(ne0n @  14.7.2007,  10:05 Найти цитируемый пост)
ну а что тогда можно сделать???


Ну а у тебя что за программа, для кого предназначена и почему ты боишься, что юзер может не доверить ей внедрить DLL для перехвата?

Автор: ne0n 14.7.2007, 10:51
Да в программе нет ничего особенного, ну вообще это что то в духе Более продвинутого диспечера задач, Dll для перехвата не хочу внедрять т.к. некоторые антивирусы покажут пальцем и скажут  
что троян, а юзеру пофиг сказали трой значит трой! smile 

Автор: lukas 15.7.2007, 16:43
ну знаешь если пользователь завершает твой процес значит программа зависла, или у него на то причины... меня бы это лично очень раздражало... 

Автор: ne0n 16.7.2007, 10:14
ну ладно тему можно считать решенной я просто хотел узнать есть альтернативные методы или нет... мож и вправду нах не надо эту фишку делать smile 

Автор: DIMONSOFT 27.7.2007, 06:45
Цитата(ne0n @  16.7.2007,  10:14 Найти цитируемый пост)
есть альтернативные методы или нет

Методы есть всегда, было бы желание. Почитай статейку, там есть скрытые методы инжекта dll http://wasm.ru/article.php?article=apihook_2
 А вообще лучше писать драйвер и лезть в ring0

Автор: W4FhLF 27.7.2007, 08:02
Цитата(DIMONSOFT @  27.7.2007,  06:45 Найти цитируемый пост)
Почитай статейку, там есть скрытые методы инжекта dll


Причём тут инжект? Это тот же самый перехват апи, а не альтернативный метод. 

Автор: bartram 28.7.2007, 10:32
ne0n, если в теории, то перехватываешь Zw(Nt)TerminateProcess далее получаешь хэндл завершающего приложения, а далее по хэндлу узнаешь  PID и имя процесса и соответственно выводишь его на экран smile

Автор: ne0n 29.7.2007, 15:42
bartram, да если честно тема уже потеряла актуальность smile  а вообще я разобрался более менее, просто посмотрел исходники eXtreame Dumper by Ms-Rem(блин как же он классно писал код smile ) разобрался как инфу гонять из драйвера в программу и наоборот....
ну а стеоретическими основами  я знаком вроде не плохо smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)