| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Узнать что мой процесс хотят завершить |
| Автор: ne0n 12.7.2007, 16:15 |
| Вообщем я думаю из сабжа все понятно,если мою программу пытаються завершить из вне, то выдать имя проги и согласиться с завершением или нет. Единственное что приходит в голову это перехват, но перехват в юзер моде всяким антивирусам может показаться подозрительным и они будут тыкать пальцом на мою программу как на потенциальный вирус! Кернел мод для меня относительно далекая тема, хотя я читал что на форуме кто то умудрился замутить перехват в ядре(драйвер на делфи). Отсяда вопрос если какойто альтернативный вариант??? |
| Автор: W4FhLF 12.7.2007, 21:05 |
| Прежде чем попасть в кернел-мод и осуществить перехват оттуда, тебе надо загрузить драйвер, а это контролируется всеми АВ и проактивными защитами. Т.е. что в юзермоде, что в кернелмоде твоё приложение будет вызывать подозрения у соотв. ПО, поэтому с этой т.з. ring0 - не выход. Нет. |
| Автор: ne0n 14.7.2007, 10:05 |
| ну а что тогда можно сделать??? |
| Автор: W4FhLF 14.7.2007, 10:21 |
Ну а у тебя что за программа, для кого предназначена и почему ты боишься, что юзер может не доверить ей внедрить DLL для перехвата? |
| Автор: ne0n 14.7.2007, 10:51 |
| Да в программе нет ничего особенного, ну вообще это что то в духе Более продвинутого диспечера задач, Dll для перехвата не хочу внедрять т.к. некоторые антивирусы покажут пальцем и скажут что троян, а юзеру пофиг сказали трой значит трой! |
| Автор: lukas 15.7.2007, 16:43 |
| ну знаешь если пользователь завершает твой процес значит программа зависла, или у него на то причины... меня бы это лично очень раздражало... |
| Автор: ne0n 16.7.2007, 10:14 |
| ну ладно тему можно считать решенной я просто хотел узнать есть альтернативные методы или нет... мож и вправду нах не надо эту фишку делать |
| Автор: DIMONSOFT 27.7.2007, 06:45 |
Методы есть всегда, было бы желание. Почитай статейку, там есть скрытые методы инжекта dll http://wasm.ru/article.php?article=apihook_2 А вообще лучше писать драйвер и лезть в ring0 |
| Автор: W4FhLF 27.7.2007, 08:02 |
Причём тут инжект? Это тот же самый перехват апи, а не альтернативный метод. |
| Автор: bartram 28.7.2007, 10:32 |
| ne0n, если в теории, то перехватываешь Zw(Nt)TerminateProcess далее получаешь хэндл завершающего приложения, а далее по хэндлу узнаешь PID и имя процесса и соответственно выводишь его на экран |
| Автор: ne0n 29.7.2007, 15:42 |
| bartram, да если честно тема уже потеряла актуальность ну а стеоретическими основами я знаком вроде не плохо |