Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

Защита программы от несанкционированного копирования   Найти похожие ветки 

 
Vlad ©   (2004-04-05 17:55) [0]

Возникла задача защитить программу от несанкционированного копирования. Есть мысль привязаться к серийному номеру тома на жестком диске и прочим параметрам, к-рые можно получить с помощью ф-ции GetVolumeInformation.
Хотелось бы узнать Ваши мнения, насколько это надежно, какие м.б. подводные грабли ;-) и/или возможно кто нибудь посоветует более грамотное решение задачи ?
Спасибо.


 
alless ©   (2004-04-05 18:07) [1]

> серийному номеру тома на жестком диске и прочим параметрам
a esli u celoveka vint umer i kupil novii, cto delati?


 
Vlad ©   (2004-04-05 18:18) [2]


> alless ©   (05.04.04 18:07) [1]

Если у человека умер винт, то прогу ставить заново. А это сможет сделать только админ.
Этой программой пользуется достаточно ограниченное кол-во людей и смысл в том, чтобы никто не смог просто так утащить ее домой или скопировать на другой комп.


 
YurikGl ©   (2004-04-05 19:05) [3]

В свое время, нам рассказывали про такой способ защиты.
Делается контрольная дискета (тогда компактов не было), которая отформатирована нестандартным способом, т.е. размер кластера нестандартный или еще что-нибудь.

При запуске прога проверяет наличие этой дискеты (компашки) в приводе.

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

Сделать полностью идентичный диск нормальному юзеру не под силу.


 
Anatoly Podgoretsky ©   (2004-04-05 19:12) [4]

Раз файл можно запустить, то от копирования не удастся защититьс, и уж ни как серийный номер не препятствует копированию.


 
Vlad ©   (2004-04-05 19:26) [5]


> Anatoly Podgoretsky ©   (05.04.04 19:12) [4]

Алгоритм примерно такой.
Программа считывает информацию о серийном номере тома и другие характеристики. На основе них генерирует некий уникальный ключ.
При первом запуске этой программы пользователю предлагается этот ключ как запрос, и он(пользователь) должен ввести ответный ключ. Ответный ключ он получает только у администратора.  
Как только ответ введен (и если он правильный), то ключ записывается в реестр (или базу) и каждый раз при новом запуске программы сравнивается с параметрами жесткого диска пользователя. Как только параметры не совпали, значит была попытка копирования или форматирования диска и программа снова выдает запрос ввиде нового ключа.
Вроде бы на первый взгляд должно защитить. Где могут быть дыры ?


 
Sergey_Masloff   (2004-04-05 19:31) [6]

Vlad ©   (05.04.04 19:26) [5]
Дыра вот здесь
>Как только параметры не совпали
Очень легко найти это место и поменять HEX-редактором JZ -> JNZ
или наоборот. Это сейчас умеют, можно считать, все... ИМХО не катит.


 
YurikGl ©   (2004-04-05 19:31) [7]

Если программа будет проверять корректность ключа только при запуске, то любой начинающий хаккер от-учит ее от этого за 10 минут.


 
Vlad ©   (2004-04-05 19:33) [8]


> Sergey_Masloff   (05.04.04 19:31) [6]

Защита от хакеров не предусматривается ;-)
Нужна защита от "особо умных" юзеров.


 
Vlad ©   (2004-04-05 19:34) [9]


> YurikGl ©   (05.04.04 19:31) [7]
> Если программа будет проверять корректность ключа только
> при запуске

Согласен. Достоверность ключа можно проверять периодически...


 
Anatoly Podgoretsky ©   (2004-04-05 19:34) [10]

Начнем с того, что защиты от копирования здесь нет, ты просто не верно поставил вопрос - как защититься от несанкционированного использования программы, если ее скопируют на другой компьютер.

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

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


 
YurikGl ©   (2004-04-05 19:36) [11]

Против "обычных" юзеров поступаешь проще. Создаешь в каталоге /windows/system32/.... dll-ку со страшным названием и содержанием и проверяещь ее наличие.

Аналогично, можно сделать ключ в реестре и не париться с серийными номерами.


 
Vlad ©   (2004-04-05 19:40) [12]


> Anatoly Podgoretsky ©   (05.04.04 19:34) [10]

Да, вопрос поставлен некорректно. Имелось ввиду несанкционированное использование программы при копировании.

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


> YurikGl ©   (05.04.04 19:36) [11]

Это решается простым копированием всего диска.


 
YurikGl ©   (2004-04-05 19:43) [13]

>>Меня беспокоит другое. Нет ли каких нибудь программ, которые позволяют полностью копировать образ диска, включая серийные номера томов ?

Проще [6] сотворить, чем диск копировать или прогу какую-то искать.


 
Anatoly Podgoretsky ©   (2004-04-05 19:44) [14]

А ты рассмотри вариант когда более одной программы с такой защитой, что перед запуском каждой программы будет копировать образ?.
Против хакеров мы решили не защищаться.


 
Vlad ©   (2004-04-05 20:01) [15]


> Anatoly Podgoretsky ©   (05.04.04 19:44) [14]

Понятно что продавать такую программу он не сможет, но все таки хотелось бы помимо серийного номера тома для гарантии привязаться еще к серийным номерам другого оборудования, т.е. те номера, которые программно изменять нельзя. Возможно ли такое ?


 
panov ©   (2004-04-05 20:10) [16]

>Vlad ©   (05.04.04 20:01) [15]
Необязательно привязываться к серийным номерам.
Получи информацию о конфигурации другого оборудования, параметров компонентов.
Получишь уникальный набор.


 
Anatoly Podgoretsky ©   (2004-04-05 20:11) [17]

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


 
Vlad ©   (2004-04-05 20:16) [18]


> panov ©   (05.04.04 20:10) [16]

Вот тут надо подумать, конфигурацию оборудования юзер может менять, это допустимо, но тогда программа, увидев изменения, перестанет работать.
Параметры компонентов - это каких ? Тут нужно получить что-то такое, что не может менять сам юзер, поэтому я и хотел привязаться к с/н оборудования.


> Anatoly Podgoretsky ©   (05.04.04 20:11) [17]

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


 
Vlad ©   (2004-04-05 20:28) [19]

Вот еще вопрос, касательно поста Сергея Маслова [6]
Если все-таки проверять достоверность ключа не только при начальном запуске программы, а периодически, перед любой операцией, ну или скажем отдельный поток раз в N секунд будет сверять ключ, уменьшит ли это вероятность хака программы ?
(это уже из любопытства, в реальной задаче это не столь важно)


 
YurikGl ©   (2004-04-05 21:33) [20]

Влад, если хочешь, я тебе скину статью, в которой популярно объясняется как взламывают программы. Пиши YurikGl@newmail.ru


 
VMcL ©   (2004-04-06 00:20) [21]

>>YurikGl ©  (05.04.04 21:33) [20]

Я могу и так рассказать, где смотреть: http://www.wasm.ru/


 
YurikGl ©   (2004-04-06 12:37) [22]

re [21] не стал писать т.к.

Запрещается:

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

Просто статейка мне попалась, которую потом удалили, где пошагово взламывался Accent Word Password Recovery

:)


 
serge35   (2004-04-06 12:42) [23]

1C что только не делала для защиты - все равно ломают
Консультант+ каждые 2 месяца выпускает новый ехе.
Лично я был бы рад, что мою программу копируют.
Если ее копируют, значит она нужна людям, значат я написал
нужную и полезную программу.


 
LaidBack   (2004-04-06 13:23) [24]


> serge35   (06.04.04 12:42) [23]
> 1C что только не делала для защиты - все равно ломают
> Консультант+ каждые 2 месяца выпускает новый ехе.
> Лично я был бы рад, что мою программу копируют.
> Если ее копируют, значит она нужна людям, значат я написал
>
> нужную и полезную программу.


Ты был бы рад, если бы не собирался делать на этой программе деньги, в противном случае, это мало бы тебя веселило :)


 
serge35   (2004-04-06 13:32) [25]

А что, программа написана на лицензионном ПО?


 
Anatoly Podgoretsky ©   (2004-04-06 13:36) [26]

serge35   (06.04.04 13:32) [25]
А у тебя что есть сомнения, как основания думать так плохо, менталитет?


 
Vlad ©   (2004-04-06 13:55) [27]


> serge35   (06.04.04 13:32) [25]

Программа написана на лицензионном ПО


 
Иксик ©   (2004-04-06 15:07) [28]

Мне как-то Игорь Шевченко посоветовал http://www.guardant.com/, мы воспользовались и оказались очень довольны. :) Хорошая вещь!



Страницы: 1 вся ветка

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.031 c
4-1078988008
AlexS76
2004-03-11 09:53
2004.05.02
Как выбрать удаленный компьютер в диалоге


11-1065719451
Wiz@rd
2003-10-09 21:10
2004.05.02
Как сделать прокси?


1-1082287224
ASvencim
2004-04-18 15:20
2004.05.02
Как внести изменения в реестр?


3-1080918463
}|{yk
2004-04-02 19:07
2004.05.02
ОК, а как получит всех детей любого поддерева не имеющих потомков


7-1077526364
DiFar
2004-02-23 11:52
2004.05.02
Блокировка нажатия клавиш Windows