Конференция "Прочее" » Компиляция драйвера на Delphi
 
  • Dreamse (08.07.08 20:34) [0]
    Добрый вечер.

    Возникла необходимость отслеживать и перехватывать запуск программ на NT платформе. Методы перехвата хуком приемлемы но есть свои проблемы, в связи с этим решил поискать решение основанное на драйвере.

    Драйвер и все исходники к нему нашел.
    Драйвер написан на Delphi и пример к нему тоже. Все это дело компилируеться если я не ошибаюсь 2 или 3 версией Delphi + MASM (Link.exe)

    Проблема в том что я в компиляции драйвера разобраться не могу :(
    В связи с этим у меня просьба к форумчанам.

    Возможно на форуме есть люди которые смогут разобраться, по этому у меня просьба разобраться с исходником (он небольшой по сути) и скомпилировать драйвер (после чего прислать драйвер, а так же если не трудно метод компиляции и описание ошибки) на Email

    Все исходники отправлю по запросу.
  • Украинец (08.07.08 20:37) [1]

    >
    > Dreamse   (08.07.08 20:34)
    >
    > Добрый вечер.


    Не ищите приключений на свою задницу. Надите в сети книгу Солдатова http://www.proklondike.com/contentview.php?content=12&print=1 и напишите на чистом С. Проблем будет меньше.

    Кроме того Руссиновича книга не помешает.
  • dreamse (08.07.08 20:44) [2]
    > Украинец   (08.07.08 20:37) [1]

    Спасибо конечно за ссылку, но С ++ надо учить, а перехват запуска нужно сделать максимум дня через 4 так что время на изучение к сожалению не хватает :(

    Решение уже есть, есть все исходные тексты, надо только откомпилировать. Там даже ошибок по сути не должно быть, я просто не знаю как скомпилировать *.sys

    В исходниках есть батник компиляции, он указывает на компилятор delphi и затем на Link.exe от MASM. Но при запуске появляються какие то ошибки компиляции.
  • Украинец (08.07.08 20:47) [3]

    > dreamse   (08.07.08 20:44) [2]


    Во 1-х под 64 оно работать не будет(можно будет попробовать шаманство с FreePascal, но это не гарантированно), во вторых будут странности с расширением функциональности драйвера, все или не будет работать или будет работать странно, по причине хитрых взаимодействий функций пользовательского режима и режима ядра.
  • Игорь Шевченко © (08.07.08 20:49) [4]
    Драйверы надо писать на С (без ++)
  • ketmar © (08.07.08 20:50) [5]
    >Драйвер написан на Delphi
    плюнь в лицо тому, кто это натворил и выгони его из своего дома.

    зыж я сильно подозреваю, откуда растут ноги у этого драйвера. не надо, родной, не надо. возьми нормальный DDK, там, по-моему, даже есть пример на PsSetCreateProcessNotifyRoutine.

    ---
    Do what thou wilt shall be the whole of the Law.
  • dreamse (08.07.08 20:52) [6]
    Есть ли еще варианты для перехвата запуска программ (exe, com, scr) без использования драйвера ? Именно перехват а не отслеживание (в связи с тем чтобы отслеживаемый файл не успел напакостить пока его не убили)

    Inject DLL не хочеться делать, так как все антивирусники с проективной защитой ругаються.

    Желательно на Delphi :) Других языков программирования я пока не знаю :(
  • Игорь Шевченко © (08.07.08 20:53) [7]

    > Есть ли еще варианты для перехвата запуска программ (exe,
    >  com, scr) без использования драйвера ?


    audit настрой - оно тебе в Event log будет писать, какие процессы запускались и зачем
  • dreamse (08.07.08 20:54) [8]
    К вопросу о драйвере:

    не весь проект, а pas файл для ознакомления: http://www.prog-gate.pp.ru/fido7.ru.delphi.talk/664.html
  • dreamse (08.07.08 20:55) [9]
    > Игорь Шевченко ©   (08.07.08 20:53) [7]

    Это все конечно хорошо :)
    Но повторюсь! Мне нужен не лог того что запускалось, а перехват запуска.
  • VirEx © (08.07.08 20:56) [10]

    > Dreamse

    http://kladovka.net.ru/index.cgi?pid=list&rid=456
    может чего и поймешь
  • ketmar © (08.07.08 20:56) [11]
    >[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.
  • Игорь Шевченко © (08.07.08 20:58) [12]
    ketmar ©   (08.07.08 20:56) [11]

    Собственно, локальную политику безопасности в винде не отменили. Автор  же не говорит, нафига ему потребовалось дварковать запускаемые процессы влэндишным способом, но наверняка все такие решения уже есть в настройках той самой политики
  • ketmar © (08.07.08 21:00) [13]
    >[12] Игорь Шевченко © (2008-07-08 20:58:00)
    скорее всего ты прав. но это ж не интересно…

    ---
    Understanding is not required. Only obedience.
  • 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 эх ... давно бы мне драйвер скомпилили я бы и отстал
  • ketmar © (08.07.08 21:08) [15]
    >[14] dreamse (2008-07-08 21:05:00)
    >В связи с этим прошу больше на локальные политики не посылать :) Есть задача, нужно
    >её как то решить…

    тебе уже сказали как её решить. политики безопасности — как раз для твоего случая. дальше для доставания гланд через анус — на форум проктологоанатомов.

    ---
    Do what thou wilt shall be the whole of the Law.
  • Игорь Шевченко © (08.07.08 21:09) [16]

    > Понимаете есть такое понятие как разработка софта для распространения
    > его среди юзеров не имеющих понятия что такое политика безопасности,
    >  что такое драйвреа и пр а знающих только 2 кнопки в компьютере
    > Это кнопка питания и кнопка пуск.


    Ты работаешь в Microsoft ?
  • Украинец (08.07.08 21:11) [17]

    > 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 мб.
  • ketmar © (08.07.08 21:13) [18]
    >[14] dreamse (2008-07-08 21:05:00)
    кстати, родной: а кто это тебе на свисте позволит всякие неподписаные драйвера втыкать?
    а про свистуx64 как?

    не занимайся чушью, послушай, что тебе умные люди говорят.

    ---
    Understanding is not required. Only obedience.
  • dreamse (08.07.08 21:17) [19]
    > ketmar ©   (08.07.08 21:08) [15]

    > тебе уже сказали как её решить

    Тебе я уже тоже сказал что данный вариант политиками не настроишь так как софт на продажу, на продажу зарубеж, на продажу в другие города ... кто будет ездить с софтом за 100 $ и настраивать политики на каждой рабочей станции ?

    > Игорь Шевченко ©   (08.07.08 21:09) [16]

    А вы ?
 
Конференция "Прочее" » Компиляция драйвера на Delphi
Есть новые Нет новых   [134439   +35][b:0][p:0.001]