-
Добрый вечер.
Возникла необходимость отслеживать и перехватывать запуск программ на 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]
А вы ?
-
> ketmar © (08.07.08 21:13) [18]
Скажите мне умные люди: Как сделать перехват нормальный запуска процесосв на Delphi?
-
dreamse, DCC от Delphi 3:
dcc32.exe -jP -$A-,B-,C-,D-,G-,H-,I-,J-,L-,M-,O+,P-,Q-,R-,T-,U-,V-,W+,X+,Y- имя_файла_исходника.pas
Далее link'уем WinDDK:
link.exe /NOLOGO /ALIGN:32 /BASE:0x10000 /SUBSYSTEM:NATIVE /DRIVER /FORCE:UNRESOLVED /ENTRY:DriverEntry$qqsxp13DRIVER_OBJECTxp14UNICODE_STRING имя_файла_исходника.obj /out:имя_файла_исходника.sys ntoskrnl.lib
-
> ketmar © (08.07.08 21:13) [18] > > >[14] dreamse (2008-07-08 21:05:00) > кстати, родной: а кто это тебе на свисте позволит всякие > неподписаные драйвера втыкать? > а про свистуx64 как?
Подписать на год всего 400$
-
> kernel © (08.07.08 21:31) [21] > > dreamse, > DCC от Delphi 3:
> dreamse (08.07.08 21:17) [19] > софт на продажу, на продажу зарубеж, на продажу в другие города ...
Ну сделал ты человеку медвежью услугу, а ПО прослывёт глючным.
-
>[19] dreamse (2008-07-08 21:17:00) за метлой. немедленно. и работать по своей прямой специальности.
--- Understanding is not required. Only obedience.
-
-
> dreamse
Все же советую начать изучать С и основы написания драйверов под Windows. Это занятие и с нормальными и предназначенными для этого инструментами сродни постройке корабликов в бутылках, а ты еще хочешь строить эти кораблики без участия рук и с завязанными глазами.
-
> А вы ?
Я в первую очередь не желаю странного, в частности самопального перехвата запуска процессов, каковой перехват делается как минимум тремя стандартными способами.
-
> Игорь Шевченко © (08.07.08 21:52) [27]
> каковой перехват делается как минимум тремя стандартными способами.
Интересный вы все же человек, учите - учите неизвестно чему, а вот подсказать хотя бы 1-2 способа из 3-х стандартных почему то не можете :(
Дело ведь не в том что по вашему мнению этого не нужно делать, дело в том что это будет сделанно в любом случае :) Рано или поздно, так как надо!
А я бы в свою очередь был бы очень благодарен любой подсказке, кроме конечно слов что делать что то не нужно
-
dreamse (08.07.08 22:00) [28]
> Интересный вы все же человек
Спасибо за комплимент
> учите - учите неизвестно чему, а вот подсказать хотя бы > 1-2 способа из 3-х стандартных почему то не можете :(
или не хочите. Также как ты не хочешь объяснить, нафига оно тебе надо.
> Дело ведь не в том что по вашему мнению этого не нужно делать, > дело в том что это будет сделанно в любом случае :) Рано > или поздно, так как надо!
Ты название софта скажи, чтобы никто из близких/родственников/знакомых его по незнанию не купил.
-
> Игорь Шевченко © (08.07.08 22:03) [29]
> Также как ты не хочешь объяснить, нафига оно тебе надо.
Есть база постоянно обновляемых сигнатур троянов, рекламных модулей, шпионов и пр гадости. Нужно сделать файловый монитор на запуск этих файлов.
Почему бы не пользоваться нормальным антивирусом? потому что необходимо встроить данный функционал в свою БОЛЬШУЮ систему.
SDK Касперский предоставляет но поддержка их сканера в неших продуктах стоит 10 000 $ на 3 месяца ... это нереальная несколько цена.
SDK Сканнера от Panda антивирус тоже есть, но договориться с ними не получилось.
> Ты название софта скажи, чтобы никто из близких/родственников/знакомых его по незнанию не купил.
Не купит, модуль деактивирования сигнатур входит в специализированный софт для рабочих станций в компаниях. Домашним пользователям он не грозит :)
p.s Знаю, знаю что это не решение ... но есть такое понятие как : Шеф сказал делай так ... вот и делаю ..
Решение будет идти встраиваемым модулем для нашего специализированного софта.
-
> [0] Dreamse (08.07.08 20:34)
зачем драйвер, когда есть готовые средства в user mode, вот пример http://code.progler.ru/view/376драйвер это самая самая крайняя мера. надо трижды задуматься, а потом задуматься еще раз, прежде чем выбрать этот вариант.
-
> Eraser © (08.07.08 22:26) [31]
заработает ли под обычным пользователем в Vista?
-
нет, не уверен даже что заработает под обычным пользователем в xp. но на то есть манифест. драйвер точно под обычным польззователем не заработает, а в vista64 не заработает и под админом )
-
> ketmar © (08.07.08 21:36) [24] > > >[19] dreamse (2008-07-08 21:17:00) > за метлой. немедленно. и работать по своей прямой специальности.
Кетмар, ну вам разве не стыдно. Я лично люблю чтобы убрано было чисто, а не как нибудь. А как этот человек пишет программы я уже понял...
-
Удалено модератором
-
> Eraser © (08.07.08 22:26) [31] > > > [0] Dreamse (08.07.08 20:34) > > зачем драйвер, когда есть готовые средства в user mode, > вот пример http://code.progler.ru/view/376 > > драйвер это самая самая крайняя мера. надо трижды задуматься, > а потом задуматься еще раз, прежде чем выбрать этот вариант.
Ему не только отслеживать, но и перехватывать(запрещать). A WMI позволяет только отслеживать CreateProcess.
-
> dreamse (08.07.08 23:14) [35] > > Скачал winDDK скомпилил пример, вроде работает. Но опять > не перехват а отслеживание :( > > Спасибо всем. > Если будет возможность без драйвера Перехватить !!! Не отследить > а Перехватить запуск то напишите пожалуйста.
Можешь попробовать заменить отладчик [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug]
-
> не весь проект, а pas файл для ознакомления: http://www. > prog-gate.pp.ru/fido7.ru.delphi.talk/664.html
>> function DriverEntry; >> begin >> ... Млин - у меня дежавю? Я думал только один образчик сего чуда есть, а оказывается нэт, метаморфируются они, итить их за ногу :))) Жаль нельзя Девида Блейна вспомнить...
-
-
> Не купит, модуль деактивирования сигнатур входит в специализированный > софт для рабочих станций в компаниях
вам жалко потратить денег на НОРМАЛЬНОЕ решение ? В таком случае озвучь название софта, чтобы компании его тоже не покупали.
-
Удалено модератором
-
> Решение будет идти встраиваемым модулем для нашего специализированного > софта.
уж слишком он специализиованным и нужным специалистам софт должен быть, чтоб для установки нужно было иметь право ставить драйверы. Софт точно будет в top-10 "головная боль админа" после разнообразных клиент-банков.
-
> уж слишком он специализиованным и нужным специалистам софт > должен быть, чтоб для установки нужно было иметь право ставить > драйверы. Софт точно будет в top-10 "головная боль админа" > после разнообразных клиент-банков. >
и антивирусов :)
-
> Игорь Шевченко © (08.07.08 23:50) [40]
При стоимости софта 2 000 $ 10 000 $ отдавать за антивирусное решение это слегка перебор
-
>[34] Украинец (2008-07-08 23:03:00) >Кетмар, ну вам разве не стыдно. Я лично люблю чтобы убрано было чисто, а не как >нибудь. А как этот человек пишет программы я уже понял… тоже правильно. ну а что с ним делать тогда? но если будет с метлой — можно потребовать подмести ещё раз, и ещё, и ещё. глядишь, научится. на компост всё-таки жаль пускать, не всем же программистами быть.
--- Understanding is not required. Only obedience.
-
>[38] Rouse_ © (2008-07-08 23:35:00) >Я думал только один образчик сего чуда есть, а оказывается нэт, метаморфируются >они Розыч, к сожалению, один выпустили в «дикую природу». а сейчас сам знаешь — еда токсичная, вода токсичная, воздух токсичный…
--- Understanding is not required. Only obedience.
-
У меня тут на машине 3 экземпляра таких чуд есть, есесно ничего серьезного не представляют. Один IOPM скидывает, второй умеет делать BEEP а третий как раз это чудо которое PsSetCreateProcessNotifyRoutine использует с обрывками DDK.
Когда настроение плохое, периодически улучшаю его просмотром исходного кода сиих образчиков :)
-
>[47] Rouse_ © (2008-07-09 12:32:00) злюка ты. а люди ведь старались, писали…
--- Do what thou wilt shall be the whole of the Law.
-
Их бы старания да в нужное русло ;)
-
|