Форум: "Прочее";
Текущий архив: 2008.08.24;
Скачать: [xml.tar.bz2];
ВнизКомпиляция драйвера на Delphi Найти похожие ветки
← →
Dreamse (2008-07-08 20:34) [0]Добрый вечер.
Возникла необходимость отслеживать и перехватывать запуск программ на NT платформе. Методы перехвата хуком приемлемы но есть свои проблемы, в связи с этим решил поискать решение основанное на драйвере.
Драйвер и все исходники к нему нашел.
Драйвер написан на Delphi и пример к нему тоже. Все это дело компилируеться если я не ошибаюсь 2 или 3 версией Delphi + MASM (Link.exe)
Проблема в том что я в компиляции драйвера разобраться не могу :(
В связи с этим у меня просьба к форумчанам.
Возможно на форуме есть люди которые смогут разобраться, по этому у меня просьба разобраться с исходником (он небольшой по сути) и скомпилировать драйвер (после чего прислать драйвер, а так же если не трудно метод компиляции и описание ошибки) на Email
Все исходники отправлю по запросу.
← →
Украинец (2008-07-08 20:37) [1]
>
> Dreamse (08.07.08 20:34)
>
> Добрый вечер.
Не ищите приключений на свою задницу. Надите в сети книгу Солдатова http://www.proklondike.com/contentview.php?content=12&print=1 и напишите на чистом С. Проблем будет меньше.
Кроме того Руссиновича книга не помешает.
← →
dreamse (2008-07-08 20:44) [2]> Украинец (08.07.08 20:37) [1]
Спасибо конечно за ссылку, но С ++ надо учить, а перехват запуска нужно сделать максимум дня через 4 так что время на изучение к сожалению не хватает :(
Решение уже есть, есть все исходные тексты, надо только откомпилировать. Там даже ошибок по сути не должно быть, я просто не знаю как скомпилировать *.sys
В исходниках есть батник компиляции, он указывает на компилятор delphi и затем на Link.exe от MASM. Но при запуске появляються какие то ошибки компиляции.
← →
Украинец (2008-07-08 20:47) [3]
> dreamse (08.07.08 20:44) [2]
Во 1-х под 64 оно работать не будет(можно будет попробовать шаманство с FreePascal, но это не гарантированно), во вторых будут странности с расширением функциональности драйвера, все или не будет работать или будет работать странно, по причине хитрых взаимодействий функций пользовательского режима и режима ядра.
← →
Игорь Шевченко © (2008-07-08 20:49) [4]Драйверы надо писать на С (без ++)
← →
ketmar © (2008-07-08 20:50) [5]>Драйвер написан на Delphi
плюнь в лицо тому, кто это натворил и выгони его из своего дома.
зыж я сильно подозреваю, откуда растут ноги у этого драйвера. не надо, родной, не надо. возьми нормальный DDK, там, по-моему, даже есть пример на PsSetCreateProcessNotifyRoutine.
---
Do what thou wilt shall be the whole of the Law.
← →
dreamse (2008-07-08 20:52) [6]Есть ли еще варианты для перехвата запуска программ (exe, com, scr) без использования драйвера ? Именно перехват а не отслеживание (в связи с тем чтобы отслеживаемый файл не успел напакостить пока его не убили)
Inject DLL не хочеться делать, так как все антивирусники с проективной защитой ругаються.
Желательно на Delphi :) Других языков программирования я пока не знаю :(
← →
Игорь Шевченко © (2008-07-08 20:53) [7]
> Есть ли еще варианты для перехвата запуска программ (exe,
> com, scr) без использования драйвера ?
audit настрой - оно тебе в Event log будет писать, какие процессы запускались и зачем
← →
dreamse (2008-07-08 20:54) [8]К вопросу о драйвере:
не весь проект, а pas файл для ознакомления: http://www.prog-gate.pp.ru/fido7.ru.delphi.talk/664.html
← →
dreamse (2008-07-08 20:55) [9]> Игорь Шевченко © (08.07.08 20:53) [7]
Это все конечно хорошо :)
Но повторюсь! Мне нужен не лог того что запускалось, а перехват запуска.
← →
VirEx © (2008-07-08 20:56) [10]
> Dreamse
http://kladovka.net.ru/index.cgi?pid=list&rid=456
может чего и поймешь
← →
ketmar © (2008-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.
← →
Игорь Шевченко © (2008-07-08 20:58) [12]ketmar © (08.07.08 20:56) [11]
Собственно, локальную политику безопасности в винде не отменили. Автор же не говорит, нафига ему потребовалось дварковать запускаемые процессы влэндишным способом, но наверняка все такие решения уже есть в настройках той самой политики
← →
ketmar © (2008-07-08 21:00) [13]>[12] Игорь Шевченко © (2008-07-08 20:58:00)
скорее всего ты прав. но это ж не интересно…
---
Understanding is not required. Only obedience.
← →
dreamse (2008-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 © (2008-07-08 21:08) [15]>[14] dreamse (2008-07-08 21:05:00)
>В связи с этим прошу больше на локальные политики не посылать :) Есть задача, нужно
>её как то решить…
тебе уже сказали как её решить. политики безопасности — как раз для твоего случая. дальше для доставания гланд через анус — на форум проктологоанатомов.
---
Do what thou wilt shall be the whole of the Law.
← →
Игорь Шевченко © (2008-07-08 21:09) [16]
> Понимаете есть такое понятие как разработка софта для распространения
> его среди юзеров не имеющих понятия что такое политика безопасности,
> что такое драйвреа и пр а знающих только 2 кнопки в компьютере
> Это кнопка питания и кнопка пуск.
Ты работаешь в Microsoft ?
← →
Украинец (2008-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 © (2008-07-08 21:13) [18]>[14] dreamse (2008-07-08 21:05:00)
кстати, родной: а кто это тебе на свисте позволит всякие неподписаные драйвера втыкать?
а про свистуx64 как?
не занимайся чушью, послушай, что тебе умные люди говорят.
---
Understanding is not required. Only obedience.
← →
dreamse (2008-07-08 21:17) [19]> ketmar © (08.07.08 21:08) [15]
> тебе уже сказали как её решить
Тебе я уже тоже сказал что данный вариант политиками не настроишь так как софт на продажу, на продажу зарубеж, на продажу в другие города ... кто будет ездить с софтом за 100 $ и настраивать политики на каждой рабочей станции ?
> Игорь Шевченко © (08.07.08 21:09) [16]
А вы ?
← →
dreamse (2008-07-08 21:18) [20]> ketmar © (08.07.08 21:13) [18]
Скажите мне умные люди: Как сделать перехват нормальный запуска процесосв на Delphi?
← →
kernel © (2008-07-08 21:31) [21]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
← →
Украинец (2008-07-08 21:31) [22]
> ketmar © (08.07.08 21:13) [18]
>
> >[14] dreamse (2008-07-08 21:05:00)
> кстати, родной: а кто это тебе на свисте позволит всякие
> неподписаные драйвера втыкать?
> а про свистуx64 как?
Подписать на год всего 400$
← →
Украинец (2008-07-08 21:35) [23]
> kernel © (08.07.08 21:31) [21]
>
> dreamse,
> DCC от Delphi 3:
> dreamse (08.07.08 21:17) [19]
> софт на продажу, на продажу зарубеж, на продажу в другие города ...
Ну сделал ты человеку медвежью услугу, а ПО прослывёт глючным.
← →
ketmar © (2008-07-08 21:36) [24]>[19] dreamse (2008-07-08 21:17:00)
за метлой. немедленно. и работать по своей прямой специальности.
---
Understanding is not required. Only obedience.
← →
blackman © (2008-07-08 21:39) [25]Наверное вот эта статья подвигла на подвиги?
Перехват API функций в Windows NT (часть 1). Основы перехвата.
http://www.wasm.ru/article.php?article=apihook_1
(ахтунг!, детям и слабонервным просьба соблюдать необходимые меры предосторожности ^_^
Тогда нужно и коменты прочесть
http://www.wasm.ru/comment.php?artcode=apihook_1
← →
DVM © (2008-07-08 21:42) [26]
> dreamse
Все же советую начать изучать С и основы написания драйверов под Windows. Это занятие и с нормальными и предназначенными для этого инструментами сродни постройке корабликов в бутылках, а ты еще хочешь строить эти кораблики без участия рук и с завязанными глазами.
← →
Игорь Шевченко © (2008-07-08 21:52) [27]
> А вы ?
Я в первую очередь не желаю странного, в частности самопального перехвата запуска процессов, каковой перехват делается как минимум тремя стандартными способами.
← →
dreamse (2008-07-08 22:00) [28]> Игорь Шевченко © (08.07.08 21:52) [27]
> каковой перехват делается как минимум тремя стандартными способами.
Интересный вы все же человек, учите - учите неизвестно чему, а вот подсказать хотя бы 1-2 способа из 3-х стандартных почему то не можете :(
Дело ведь не в том что по вашему мнению этого не нужно делать, дело в том что это будет сделанно в любом случае :) Рано или поздно, так как надо!
А я бы в свою очередь был бы очень благодарен любой подсказке, кроме конечно слов что делать что то не нужно
← →
Игорь Шевченко © (2008-07-08 22:03) [29]dreamse (08.07.08 22:00) [28]
> Интересный вы все же человек
Спасибо за комплимент
> учите - учите неизвестно чему, а вот подсказать хотя бы
> 1-2 способа из 3-х стандартных почему то не можете :(
или не хочите. Также как ты не хочешь объяснить, нафига оно тебе надо.
> Дело ведь не в том что по вашему мнению этого не нужно делать,
> дело в том что это будет сделанно в любом случае :) Рано
> или поздно, так как надо!
Ты название софта скажи, чтобы никто из близких/родственников/знакомых его по незнанию не купил.
← →
dreamse (2008-07-08 22:16) [30]> Игорь Шевченко © (08.07.08 22:03) [29]
> Также как ты не хочешь объяснить, нафига оно тебе надо.
Есть база постоянно обновляемых сигнатур троянов, рекламных модулей, шпионов и пр гадости. Нужно сделать файловый монитор на запуск этих файлов.
Почему бы не пользоваться нормальным антивирусом?
потому что необходимо встроить данный функционал в свою БОЛЬШУЮ систему.
SDK Касперский предоставляет но поддержка их сканера в неших продуктах стоит 10 000 $ на 3 месяца ... это нереальная несколько цена.
SDK Сканнера от Panda антивирус тоже есть, но договориться с ними не получилось.
> Ты название софта скажи, чтобы никто из близких/родственников/знакомых его по незнанию не купил.
Не купит, модуль деактивирования сигнатур входит в специализированный софт для рабочих станций в компаниях. Домашним пользователям он не грозит :)
p.s Знаю, знаю что это не решение ... но есть такое понятие как : Шеф сказал делай так ... вот и делаю ..
Решение будет идти встраиваемым модулем для нашего специализированного софта.
← →
Eraser © (2008-07-08 22:26) [31]> [0] Dreamse (08.07.08 20:34)
зачем драйвер, когда есть готовые средства в user mode, вот пример http://code.progler.ru/view/376
драйвер это самая самая крайняя мера. надо трижды задуматься, а потом задуматься еще раз, прежде чем выбрать этот вариант.
← →
DVM © (2008-07-08 22:29) [32]
> Eraser © (08.07.08 22:26) [31]
заработает ли под обычным пользователем в Vista?
← →
Eraser © (2008-07-08 22:31) [33]нет, не уверен даже что заработает под обычным пользователем в xp.
но на то есть манифест. драйвер точно под обычным польззователем не заработает, а в vista64 не заработает и под админом )
← →
Украинец (2008-07-08 23:03) [34]
> ketmar © (08.07.08 21:36) [24]
>
> >[19] dreamse (2008-07-08 21:17:00)
> за метлой. немедленно. и работать по своей прямой специальности.
Кетмар, ну вам разве не стыдно. Я лично люблю чтобы убрано было чисто, а не как нибудь. А как этот человек пишет программы я уже понял...
← →
dreamse (2008-07-08 23:14) [35]Удалено модератором
← →
Украинец (2008-07-08 23:20) [36]
> 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.
← →
Украинец (2008-07-08 23:27) [37]
> dreamse (08.07.08 23:14) [35]
>
> Скачал winDDK скомпилил пример, вроде работает. Но опять
> не перехват а отслеживание :(
>
> Спасибо всем.
> Если будет возможность без драйвера Перехватить !!! Не отследить
> а Перехватить запуск то напишите пожалуйста.
Можешь попробовать заменить отладчик [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug]
← →
Rouse_ © (2008-07-08 23:35) [38]
> не весь проект, а pas файл для ознакомления: http://www.
> prog-gate.pp.ru/fido7.ru.delphi.talk/664.html
>> function DriverEntry;
>> begin
>> ...
Млин - у меня дежавю? Я думал только один образчик сего чуда есть, а оказывается нэт, метаморфируются они, итить их за ногу :)))
Жаль нельзя Девида Блейна вспомнить...
← →
umbra © (2008-07-08 23:46) [39]
> WinDDK 2000 скачать можно отсюда : http://lohovod.narod.
> ru/
WinDDK 2003 можно скачать отсюда - http://www.microsoft.com/whdc/DevTools/ddk/default.mspx :)
Про перехват - есть книжка Рихтера и есть типа-сдк Detours от микрософта (http://research.microsoft.com/research/downloads/Details/d36340fb-4d3c-4ddd-bf5b-1db25d03713d/Details.aspx) с хелпом
← →
Игорь Шевченко © (2008-07-08 23:50) [40]
> Не купит, модуль деактивирования сигнатур входит в специализированный
> софт для рабочих станций в компаниях
вам жалко потратить денег на НОРМАЛЬНОЕ решение ? В таком случае озвучь название софта, чтобы компании его тоже не покупали.
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2008.08.24;
Скачать: [xml.tar.bz2];
Память: 0.56 MB
Время: 0.079 c