Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как определить торрент клиент  (Прочитано 11535 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
OxCom
Интересующийся

ua
Offline Offline
Пол: Мужской
Неуч


« : 15-10-2009 08:36 » 

Всем доброго времени суток. Мне нужна ваша помощь с советом, а может быть и даже с кодовой реализацией о том, как же определить чем является приложение/процесс. Ближе к сути

В моей задаче надо точно определить, является ли приложение/процесс Torrent клиентом. Что я сделал? Я нашел топ 10 торрент клиентов и все по очереди установил, для того чтобы определить имя исполняемого файла. Записал все эти имена, и программным путем определяю соответствие. Я считаю это полной банальностью (даже идеей школьника), но она будет утверждена до момента прихода более разумного способа решения поставленной задачи.
Какие варианты рассмотрел:
1) Составлять md5 (отказался, т.к. версии клиентов меняются, что приведет к тому, что надо составлять базу и делать сервер обновления)
2) Проверять производителя (отказался, т.к. не всегда указан)
3) Проверять кол-во соединений (отказался, т.к. не умею этого делать и могу быть конфликты с другими программами)

Есть зацепки:
Поиск приложения, которое открывает файл с расширением *.torrent (еще не пробовал, но идея достойна внимания. интересно ваше мнение. Но вижу минус: приложение может быть не приписано как приложения для запуска файлов данного расширения и будет просто пропущено. Хотя, если все правильные торрент клиенты при отсутствии такой записи устанавливают себя, то вполне может подойти)

PS. Пишу Borland Developer Studio 2006 / CodeGear RAD Studio 2009
Записан
zubr
Гость
« Ответ #1 : 15-10-2009 09:54 » 

Как вариант, можно зацепиться за файл с расширением *.torrent. Перехватывать функцию ZWCreateFile в пользовательском режиме и определять из какого процесса она вызывалась. Правда, есть недостаток данного метода - если torrent-файл будет открыт к примеру просмотрщиком Total Commander (F3), то и на него программа среагирует. Для точности тогда надо будет еще перехватывать сокетные функции, предварительно прочитав torrent-файл, чтобы определить адрес сервера.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 16-10-2009 13:07 » 

OxCom, а если зайти с другой стороны - для чего это нужно?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
OxCom
Интересующийся

ua
Offline Offline
Пол: Мужской
Неуч


« Ответ #3 : 16-10-2009 15:22 » 

Есть маленькая сеть на одном предприятии. Канал у них узкий на 20 машин. Вот и попросили сделать так, чтобы ни на одной машине торрент клиент не присутствовал. Простым удалением и разговорами с сотрудниками ничего не добились. Решили принять меры в виде программы удаляющей торрент клиент с машины. Вся загвоздка осталась в том, чтобы корректно определить торрент клиент (является ли процесс клиентом), чтобы потом что-то делать. Думал закрыть порты, но не нашел способа, т.к. все работают на разных портах. Вот ищу способ.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #4 : 16-10-2009 15:33 » 

поставь фаервол с паролем и открой только нужные для работы программы, раз не хотят по хорошему. По моему, аськи достаточно, а так опухать, чтоб постоянно качать фильмы - это уже пора и наказывать Улыбаюсь
Записан

OxCom
Интересующийся

ua
Offline Offline
Пол: Мужской
Неуч


« Ответ #5 : 16-10-2009 15:44 » 

Была идея с фаерволом, но сказали, что нельзя ставить. вот и мучаюсь
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 16-10-2009 16:44 » 

OxCom, совершенно согласен:
1. Запретить инет всем.
2. Поставить прокси и пускать только через него.
3. На проксе можно завести авторизацию и учет трафика.
4. Наказывать за нарушение трудового распорядка.

Минималистичный метод: поставить файрвол на выход из сети и допускать запросы только на минимум необходимых портов.

Есть еще не мало технически-административных методов по настройки рабочих машин и ограничению прав пользователей.

Выбранный же метод - баловство и лишь подстегнет выдумку нарушителей для обхода придуманной защиты.

Кстати, есть у MS такой продукт - SMS: http://ru.wikipedia.org/wiki/System_Center_Configuration_Manager
Позволяет запрещать запуск программ (определяет по хешу исполняемого файла).
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
OxCom
Интересующийся

ua
Offline Offline
Пол: Мужской
Неуч


« Ответ #7 : 16-10-2009 17:11 » 

Ребят, если честно, я бы вообще им кабло обрезал и все, но сказали сделать так и никак иначе, хоть тресни Жаль Определять по хешам - хорошо, но есть проблема. каждый раз надо обновлять базу с хешами.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 16-10-2009 17:37 » 

OxCom, программы думать еще не научились, к счастью - административные действия по поддержанию базы хешей нужны.
Можно, в принципе, автоматически скачивать свежие инсталяционные пакеты торрент-клиентов и снимать с них хеши. Кстати, почему бы не запретить и сами инсталяторы, а не только установленные программы.

А вообще, "голь на выдумку хитра". На работе как только не боремся с раз...вом пользователей. Вроде и USB запрещено в БИОСе, и флопиков/CD нет, и в правах урезаны, и в почте/проксе им запрещены исполнимые форматы, а все равно находятся балбесы, которые находят способ обойти. Один чел вообще вскрыл комп, сбросил биос (активировал USB) и залил на общий файловый сервер пол гига игрушек в (!) корень шары. Гы-гы... Мы их жалеем - не рапортуем о всех провинностях, но последнее китайское ему уже сделано. Только административные методы (не компьютерные) - самые действенные для разгильдяев, не понимающих человеческих слов. Это ведь как обидно, когда "всего лишь за игрушки" начальство требует объяснительную и снимает премию, но не скажешь, что виноват кто-то иной. А то и пользователям скопом достается. Если у кого деньги лишние - пусть дерзают - незаменимых нет, есть лишь труднозаменимые, но к таким обычно серьезных ограничений не применяют - от них пользы больше.
« Последнее редактирование: 16-10-2009 17:40 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines