-
Добрый вечер.
Возникла необходимость отслеживать и перехватывать запуск программ на NT платформе. Методы перехвата хуком приемлемы но есть свои проблемы, в связи с этим решил поискать решение основанное на драйвере.
Драйвер и все исходники к нему нашел.
Драйвер написан на Delphi и пример к нему тоже. Все это дело компилируеться если я не ошибаюсь 2 или 3 версией Delphi + MASM (Link.exe)
Проблема в том что я в компиляции драйвера разобраться не могу :(
В связи с этим у меня просьба к форумчанам.
Возможно на форуме есть люди которые смогут разобраться, по этому у меня просьба разобраться с исходником (он небольшой по сути) и скомпилировать драйвер (после чего прислать драйвер, а так же если не трудно метод компиляции и описание ошибки) на Email
Все исходники отправлю по запросу.
-
-
> Украинец (08.07.08 20:37) [1]
Спасибо конечно за ссылку, но С ++ надо учить, а перехват запуска нужно сделать максимум дня через 4 так что время на изучение к сожалению не хватает :(
Решение уже есть, есть все исходные тексты, надо только откомпилировать. Там даже ошибок по сути не должно быть, я просто не знаю как скомпилировать *.sys
В исходниках есть батник компиляции, он указывает на компилятор delphi и затем на Link.exe от MASM. Но при запуске появляються какие то ошибки компиляции.
-
> dreamse (08.07.08 20:44) [2]
Во 1-х под 64 оно работать не будет(можно будет попробовать шаманство с FreePascal, но это не гарантированно), во вторых будут странности с расширением функциональности драйвера, все или не будет работать или будет работать странно, по причине хитрых взаимодействий функций пользовательского режима и режима ядра.
-
Драйверы надо писать на С (без ++)
-
>Драйвер написан на Delphi
плюнь в лицо тому, кто это натворил и выгони его из своего дома.
зыж я сильно подозреваю, откуда растут ноги у этого драйвера. не надо, родной, не надо. возьми нормальный DDK, там, по-моему, даже есть пример на PsSetCreateProcessNotifyRoutine.
---
Do what thou wilt shall be the whole of the Law.
-
Есть ли еще варианты для перехвата запуска программ (exe, com, scr) без использования драйвера ? Именно перехват а не отслеживание (в связи с тем чтобы отслеживаемый файл не успел напакостить пока его не убили)
Inject DLL не хочеться делать, так как все антивирусники с проективной защитой ругаються.
Желательно на Delphi :) Других языков программирования я пока не знаю :(
-
> Есть ли еще варианты для перехвата запуска программ (exe,
> com, scr) без использования драйвера ?
audit настрой - оно тебе в Event log будет писать, какие процессы запускались и зачем
-
-
> Игорь Шевченко © (08.07.08 20:53) [7]
Это все конечно хорошо :)
Но повторюсь! Мне нужен не лог того что запускалось, а перехват запуска.
-
-
>[7] Игорь Шевченко © (2008-07-08 20:53:00)
это только следилка, убивать так не выйдет.
>[6] dreamse (2008-07-08 20:52:00)
>Inject DLL не хочеться делать, так как все антивирусники с проективной защитой
>ругаються.
и по условию не подходит: процесс-то уже запущен, когда инжектнулось. более того, TLS callbacks стартуют ещё раньше, чем процедуры инита DLL, емнип.
---
Understanding is not required. Only obedience.
-
ketmar © (08.07.08 20:56) [11]
Собственно, локальную политику безопасности в винде не отменили. Автор же не говорит, нафига ему потребовалось дварковать запускаемые процессы влэндишным способом, но наверняка все такие решения уже есть в настройках той самой политики
-
>[12] Игорь Шевченко © (2008-07-08 20:58:00)
скорее всего ты прав. но это ж не интересно…
---
Understanding is not required. Only obedience.
-
> ketmar © (08.07.08 20:56) [11]
> и по условию не подходит: процесс-то уже запущен, когда инжектнулось. более того, TLS callbacks стартуют ещё раньше, чем процедуры инита DLL, емнип.
Немного не так поняли меня.
Делаеться Inject например на Explorer а в библиотеке которую присоеденили к Explorer.exe уже изет отслеживание CreateProcess в связи с этим можно сделать перехват. Решение уже готово, но работает не ахти на OS Vista :(
В связи с этим нужно решение для NT систем включая висту
> Игорь Шевченко © (08.07.08 20:58) [12]
Понимаете есть такое понятие как разработка софта для распространения его среди юзеров не имеющих понятия что такое политика безопасности, что такое драйвреа и пр а знающих только 2 кнопки в компьютере Это кнопка питания и кнопка пуск.
В связи с этим прошу больше на локальные политики не посылать :) Есть задача, нужно её как то решить...
p.s эх ... давно бы мне драйвер скомпилили я бы и отстал
-
>[14] dreamse (2008-07-08 21:05:00)
>В связи с этим прошу больше на локальные политики не посылать :) Есть задача, нужно
>её как то решить…
тебе уже сказали как её решить. политики безопасности — как раз для твоего случая. дальше для доставания гланд через анус — на форум проктологоанатомов.
---
Do what thou wilt shall be the whole of the Law.
-
> Понимаете есть такое понятие как разработка софта для распространения
> его среди юзеров не имеющих понятия что такое политика безопасности,
> что такое драйвреа и пр а знающих только 2 кнопки в компьютере
> Это кнопка питания и кнопка пуск.
Ты работаешь в Microsoft ?
-
> dreamse (08.07.08 21:05) [14]
>
> > ketmar © (08.07.08 20:56) [11]
>
> > и по условию не подходит: процесс-то уже запущен, когда
> инжектнулось. более того, TLS callbacks стартуют ещё раньше,
> чем процедуры инита DLL, емнип.
>
> Немного не так поняли меня.
> Делаеться Inject например на Explorer а в библиотеке которую
> присоеденили к Explorer.exe уже изет отслеживание CreateProcess
> в связи с этим можно сделать перехват. Решение уже готово,
> но работает не ахти на OS Vista :(
>
> В связи с этим нужно решение для NT систем включая висту
>
> > Игорь Шевченко © (08.07.08 20:58) [12]
>
> Понимаете есть такое понятие как разработка софта для распространения
> его среди юзеров не имеющих понятия что такое политика безопасности,
> что такое драйвреа и пр а знающих только 2 кнопки в компьютере
> Это кнопка питания и кнопка пуск.
>
> В связи с этим прошу больше на локальные политики не посылать
> :) Есть задача, нужно её как то решить...
>
> p.s эх ... давно бы мне драйвер скомпилили я бы и отстал
Третья глава Солдатова "Простой драйвер в стиле NT". DDK и WDK с сайта MS.
WDK здоровый, около 600 мб.
-
>[14] dreamse (2008-07-08 21:05:00)
кстати, родной: а кто это тебе на свисте позволит всякие неподписаные драйвера втыкать?
а про свистуx64 как?
не занимайся чушью, послушай, что тебе умные люди говорят.
---
Understanding is not required. Only obedience.
-
> ketmar © (08.07.08 21:08) [15]
> тебе уже сказали как её решить
Тебе я уже тоже сказал что данный вариант политиками не настроишь так как софт на продажу, на продажу зарубеж, на продажу в другие города ... кто будет ездить с софтом за 100 $ и настраивать политики на каждой рабочей станции ?
> Игорь Шевченко © (08.07.08 21:09) [16]
А вы ?