Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Методы защиты от копирования

514
01 октября 2007 года
swordholder99
165 / / 11.12.2006
Какие методы защиты знаете от копирования программы 3 еми лицами.
Порекомендуйте пожалуйста если можно чуть чуть по подробнее...
Спасибо.
489
01 октября 2007 года
NeO_u
277 / / 11.10.2006
В принципи этих методов от защиты миллион:-)
самые распространенные: усб ключ, серийный номер материнской платы, и вообще серийный номер любой железки, которая переносится с трудом, имеется ввиду с компа на комп.

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

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

ЗЫ: ассемблер не знаю, так что помочь с реализацией не смогу, но если вдруг найдешь где-нибудь реализацию этих или любого из этих методов кинь сюда или в личку код:-)


ЗЫЫ: Если интересно вот реализация получения серийного номер материнской платы: (VB6)
Код:
Public Function MBSerialNumber() As String

'RETRIEVES SERIAL NUMBER OF MOTHERBOARD
'IF THERE IS MORE THAN ONE MOTHERBOARD, THE SERIAL
'NUMBERS WILL BE DELIMITED BY COMMAS

'YOU MUST HAVE WMI INSTALLED AND A REFERENCE TO
'Microsoft WMI Scripting Library IS REQUIRED

Dim objs As Object

Dim obj As Object
Dim WMI As Object
Dim sAns As String


Set WMI = GetObject("WinMgmts:")
Set objs = WMI.InstancesOf("Win32_BaseBoard")
For Each obj In objs
  sAns = sAns & obj.SerialNumber
 If sAns < objs.Count Then sAns = sAns & ","
Next
MBSerialNumber = sAns
End Function
241
01 октября 2007 года
Sanila_san
1.6K / / 07.06.2005
Если стоимость создания защиты от копирования превышает сумму потерь от копирования, такая защита не нужна.

А вообще простой тупой способ - зашить в программу код генерации SHA1 от MD5 из МАС-адреса сетевухи, и веб-службу, позволяющую считать такой же хеш. При установке юзер сможет отправить МАС-адрес на сервер, получить код активации и жить счастливо. При запуске программа считает код активации, сравнивает его с кодом активации, и дальше - по ситуации. Минус - в возможном реверс-инжиниринге кода расчёта и в сложности создания надёжного алгоритма хеширования своими силами, также минусом может быть наличие потребности в Интернете, необходимость написания веб-скрипта, и долгий процесс активации. Кроме того, при смене аппаратной части прежний код активации работать не будет, придётся принимать оргмеры для того, чтобы пользователь смог решить эту проблему быстро и просто. Отсюда напрашивается один вопрос: а насколько сильно вообще надо решать эту проблему? ;)
490
03 октября 2007 года
frid-karatel
357 / / 15.09.2007
Цитата: swordholder99
Какие методы защиты знаете от копирования программы 3 еми лицами.
Порекомендуйте пожалуйста если можно чуть чуть по подробнее...
Спасибо.



Смотря с чего копировать...

1. Компакт-диск. Когда-то я думал над одним способом... Заключался он в следующем... Записываем файлы на диск, без закрытия сессии, т.е. с мультисессией. Далее создаем (или находим какой-либо) файл размером около 100 Мб... И записываес его неа диск, указав, что закрываем сессию... Когда файл начинае "прожигаться" на диск и проходит какой-нибудь процент, например, 20, то вырубаем питание к CD-ROM... таким образом, возникает ошибка на диске, в результате чего программами типа Alchogol, Daemon и др. не удается скопировать весь диск... возникает ряд ошибок с чтением конечных байт с диска, но при работе с самим диском - установка программы или работа с программой - ошибок не возникает, т.к. файл, который мы записали последним, мы не используем в работе... Вот...

2. Жесткий диск. Опять же - что значит не скопировать? У тебя программа регистрируется? Т.е. необходимо ввести имя пользователя, пароль или другие данные, или чтобы просто не украли твои наработки? Если второе, то создай какой-нибудь файл, например в C:\Windows\System32 и привяжись к его существованию... Если он там есть, то программа запустится, если нет - то... не запустится :) Понятное дело, что человек, который захочет скопировать у тебя программу, вряд ли полезет в папку Windows и начнет искать там нестандартный файл :)
Если же ты хочешь распространять программу, но работала она только у тех, кому ты "разрешил", то тут только аппаратная привязка...

PS: Помни только одно - чем популярнее и необходимее будет твоя программа, тем быстрее ее взломают ;)
PSS: Вранье все это! :) Почти все... Если придумать хорошую защиту, или, например, выпускать обновления раз в месяц с каким-либо изменением в алгоритме шифрования или привязки... То хорошо...
PSSS: Это все мои мнения, а не выдержки из статей, так что в чем-то я могу быть и не прав...

92
03 октября 2007 года
Тень Пса
2.2K / / 19.10.2006
мне особо вот это
Цитата:

Когда файл начинае "прожигаться" на диск и проходит какой-нибудь процент, например, 20, то вырубаем питание к CD-ROM...

понравилось.... 5 баллов + зачот.

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

Цитата:

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



2 Автор: а что ты защищать-то хочешь?

255
03 октября 2007 года
Dart Bobr
1.4K / / 09.04.2004
2frid-karatel
а ты сам когда-нить пробовал придуманый собой метод? И почему ты так уверен, что ниодна виртуалка его не срипит?? насколько я помню, у любой уважающей себя виртуалки есть опция - "пропускать ошибки чтения". так что если у тебя будет только запоротый сектор - то демон или алкоголик его спишет а с эмуляцией диска у алкоголика - твоя програмка не распознает это нечитабельный кластер диска - или пропущеный кластер дампа..
что касается второго пункта, то нааверное ты ничего не слышал о мониторах системы, которые отслеживают все изменения произошедшие на компе.
Защита может быть двух видов - софтверная и хардверная.. Ну еще возможна комбинация даных методов. Хардверная защита - это к примеру, хасп-ключи.. Из софтверной защиты - самое популярное - ввод ключей или лицензионных файлов, привязка к железу, записи в реестр, конфиги и т.д. и т.п. Еще неплохим способом - есть онлайн регистрация.. Часто эти методы комбинируют..
Когда я еще в универе учился - у нас была лаба - для защиты инфы на дискетке. Собственно говоря дискетка форматировалась на нестандартное количество дорожек, в последнюю записывался ключ, при помощи которого можна было запустить програмку.. Но это - так детские шалости =) А так, что приходит в голову - если продукт коммерческий - то стоит подумать о приобретении защиты у сторонней фирмы, которая этим реально занимается. Иначе - можно извращаться до бесконечности =) начиная от того что написано выше и заканчивая шифрованием кода, напичкиванием программы анти-отладочными приемами, и синхронизации кода между двумя процессами в памяти =)
490
04 октября 2007 года
frid-karatel
357 / / 15.09.2007
Хех... :) А я так долго ждал ответа на свои вопросы... у меня тоже возникла такая задачка, решения которой я рассматривал... Есть в ветке тема чуть ниже этой, называется "Запрет доступа к файлу или всеобщее скрытие"... Это только часть того, что я хотел узнать...

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

Добиться точных и хороших ответов тяжелее, чем критики по предложенному варианту, поэтому.... :)

В-общем, спасибо за ответы ;)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог