Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > ОС и железо
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.03.2009, 21:46
новичёк новичёк вне форума
Прохожий
 
Регистрация: 25.12.2008
Сообщения: 17
Репутация: 10
По умолчанию Программа контроля доступа

Пишу диплом. Не могу найти исходники или инфу о таких программах. Загвозка в следующем, как сделать что бы процес нельзя было выгружить как процес каспера. Тоесть через диспечер задач выдавал что мол нельзя выгрузить. И самое главное загружался при старте системы, чем раньше тем лучше. Накачал исходников, но толку мало
Ответить с цитированием
  #2  
Старый 20.03.2009, 21:59
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Сделай сервис.
При попытке его остановить - говори, что нельзя, а можно останавливать только если, например, не существует пользовательскоо десктопа (что бы при шатдауне винды она не орала про неостанавливаемый процесс).
Ответить с цитированием
  #3  
Старый 22.03.2009, 13:55
новичёк новичёк вне форума
Прохожий
 
Регистрация: 25.12.2008
Сообщения: 17
Репутация: 10
По умолчанию

Cервис это конечно хорошо, но незнаю как его сделать. Самое главное что бы он еще грузился раньше есплорера. Можно инфу или исходничек какой нибудь?

Последний раз редактировалось новичёк, 23.03.2009 в 10:57.
Ответить с цитированием
  #4  
Старый 28.03.2009, 15:37
новичёк новичёк вне форума
Прохожий
 
Регистрация: 25.12.2008
Сообщения: 17
Репутация: 10
По умолчанию

да, думаю тут мне не помогут. Поиду искать другой форум
Ответить с цитированием
  #5  
Старый 28.03.2009, 16:33
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Пример можно посмотреть в демках самой дельфи.
Сервис - это такой специальный тип проекта. Создается через File -> New -> Other.
Сервис, обычно, действительно грузится до всего клиентского, т.е. даже до логина пользака. Хотя в последних версиях этот процесс может идти и параллельно.
Только имей в виду, что начиная с Vista и Server 2008 сервис не может иметь GUI. Если нужен GUI, то надо делать отдельную прогрммку, которая общается с сервисом.
Ответить с цитированием
  #6  
Старый 31.03.2009, 12:49
новичёк новичёк вне форума
Прохожий
 
Регистрация: 25.12.2008
Сообщения: 17
Репутация: 10
По умолчанию

Спасибо, буду искать в дельфи. Я надеялся найти развернутую литературу, но с этим глухо.
Ответить с цитированием
  #7  
Старый 31.03.2009, 18:34
Аватар для Ferra
Ferra Ferra вне форума
Местный
 
Регистрация: 12.03.2006
Адрес: Минск
Сообщения: 527
Репутация: 1336
По умолчанию

есть такое понятие hook - поищи, я развернуто писать не буду. Смысл в том что ты сожешь отловить все события которые происходят в системе.
(кстати ты можешь перехватить событие и не передавать управление дальше, то есть на самом то деле - запретить его обработку другими приложениями)

Сервис.. Он только грузиться будет с системой, обычный сервис осановить несложно.

Ну и естественно почитай про "права". Не имея системных прав - мало чего сделаешь.
__________________
Нет повести печальнее на свете, чем повесть о заклиневшем Resete.
Ответить с цитированием
  #8  
Старый 04.04.2009, 19:03
bondeet bondeet вне форума
Прохожий
 
Регистрация: 04.04.2009
Сообщения: 3
Репутация: 10
По умолчанию

попробуй инжект в другой процесс. и в диспетчере не видно и выгрузить не получиться (если инжектится в системный)
Ответить с цитированием
  #9  
Старый 06.04.2009, 20:04
новичёк новичёк вне форума
Прохожий
 
Регистрация: 25.12.2008
Сообщения: 17
Репутация: 10
По умолчанию

В чужой проект не надо, да и гемора много. Посмотрел демку сервиса ничего не понял. Сложное это дело. Про хуки знаю. Уже думаю своими силами не справлюсь придется заказать кому нибуть, но зделаю еще пару рывков.
Ответить с цитированием
  #10  
Старый 06.04.2009, 21:32
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Сервис - это очень просто.
Кратко - надо создать проект соответсвующего типа (File -> New -> Over -> Service Application - кажется так). В основной форме реализуешь обработку нужных тебе событий (типа старт сервиса, его остановка и т.д.). В событии старта запускаешь свой поток, который и будет делать основную работу. Все.
Остановить какой-либо сервис если он сделан правильно - не так-то и просто. Естественно, его надо спрятать от менеджера процессов.
Ответить с цитированием
  #11  
Старый 09.04.2009, 22:14
новичёк новичёк вне форума
Прохожий
 
Регистрация: 25.12.2008
Сообщения: 17
Репутация: 10
По умолчанию

http://www.realcoding.net/article/view/4164
Нашел статью, очень толковая. И как я раньше её не замечал.
Пока разбираюсь с сервисом.
Еще вопросик как реализовать ввод логина и пароля при входе в виндовс с моего сервиса? Типа если надо то логин админ пароль 123 интер. Хук или АПИ?
Ответить с цитированием
  #12  
Старый 10.04.2009, 01:26
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

1. Можно просто проверять какой пользователь залогинился.
2. Если именно логин в сервис (не запуск под пользователем - это настраивается в параметрах сервиса), то надо делать специальную дырочку, например, через COM или через сеть.
Ответить с цитированием
  #13  
Старый 10.04.2009, 19:04
новичёк новичёк вне форума
Прохожий
 
Регистрация: 25.12.2008
Сообщения: 17
Репутация: 10
По умолчанию

нет, мне надо тупо вводить логин пароль и жать кнопку вход в систему.
Ответить с цитированием
  #14  
Старый 10.04.2009, 19:15
Аватар для Vayrus
Vayrus Vayrus вне форума
Исполняемый Ретровирус
 
Регистрация: 09.08.2008
Адрес: Umbrella Corporation
Сообщения: 743
Репутация: 1293
Лампочка

В реестре есть ветка которая отвечает за запускаемую оболочку, таким образом ее можно заменить на вашу прогу, если ввод правильный, то она запускает EXPLORER иначе выполняет перезагрузку компа. Блокировку менеджера процессов и редактора реестра можно выполнить также внеся изменения в реестр.
Ответить с цитированием
  #15  
Старый 01.05.2009, 16:00
новичёк новичёк вне форума
Прохожий
 
Регистрация: 25.12.2008
Сообщения: 17
Репутация: 10
По умолчанию

Всех с празником. Сделал сервис. Работает.
Как запретить остановку сервиса? Из деспечера задач удаляется на ура.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:52.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter