Защита от копирования для НОВИЧКА

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
kminas
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 31.10.2005 (Пн) 20:17
Откуда: Ростов-на-Дону

Защита от копирования для НОВИЧКА

Сообщение kminas » 05.03.2006 (Вс) 11:01

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

GPP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 351
Зарегистрирован: 02.11.2005 (Ср) 8:02
Откуда: г.Невельск о.Сахалин

Сообщение GPP » 05.03.2006 (Вс) 11:20

Вот тебе принцип работы простой защиты которой я пользуюсь сам.

1. Программа при запуске генерирует случайное число к примеру 2435343653
2.Где-то ставит метку о том что число уже генерировалось(к примеру в реестре). Это для того, чтобы при последующем запуске генерация не производилась.
3. Серийный номер вычисляется к примеру по формуле сгенерированное число + 25*2.

Следовательно у каждого юзверя будет разный ключ регистрации!
Если не знаешь как сделать могу код тебе начиркать.
GPP(c) Gorlo Pavel Programming

GPP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 351
Зарегистрирован: 02.11.2005 (Ср) 8:02
Откуда: г.Невельск о.Сахалин

Сообщение GPP » 05.03.2006 (Вс) 11:23

А еще посмотри сюда: http://bbs.vbstreets.ru/viewtopic.php?t=20643&start=0
GPP(c) Gorlo Pavel Programming

kminas
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 31.10.2005 (Пн) 20:17
Откуда: Ростов-на-Дону

Сообщение kminas » 06.03.2006 (Пн) 23:36

GPP
1. Программа при запуске генерирует случайное число к примеру 2435343653
При каждом запуске или при установке?
Если не знаешь как сделать могу код тебе начиркать.

К сожалению не знаю. И куда вставлять этот код.
Константин

xqz_me
Постоялец
Постоялец
 
Сообщения: 413
Зарегистрирован: 04.12.2005 (Вс) 14:58

Сообщение xqz_me » 06.03.2006 (Пн) 23:46

При каждом запуске или при установке?
Написано же:
1. Программа при запуске генерирует случайное число к примеру 2435343653
2.Где-то ставит метку о том что число уже генерировалось(к примеру в реестре). Это для того, чтобы при последующем запуске генерация не производилась.

Код: Выделить всё
И куда вставлять этот код.

:shock: В программу, наверное.

CORBA
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 179
Зарегистрирован: 22.11.2003 (Сб) 13:41
Откуда: Ukraine-Crimea-Feodosia

Сообщение CORBA » 07.03.2006 (Вт) 13:21

GPP писал(а):Вот тебе принцип работы простой защиты которой я пользуюсь сам.

1. Программа при запуске генерирует случайное число к примеру 2435343653
2.Где-то ставит метку о том что число уже генерировалось(к примеру в реестре). Это для того, чтобы при последующем запуске генерация не производилась.
3. Серийный номер вычисляется к примеру по формуле сгенерированное число + 25*2.

Следовательно у каждого юзверя будет разный ключ регистрации!
Если не знаешь как сделать могу код тебе начиркать.


Ну а что это сообственно даёт. Ну вот стырил я программу пришёл домой запустил она посмотрела в реестр не нашла ничего, сгенерила мне код и с чем он сравнивается с серийником - 25*2. Но вот только мне кажется ничего путёвого после этого сравнения не выйдет, если число генирится случайно.
У каждой сложной задачи есть множество простых для понимания, но неправильных решений.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 07.03.2006 (Вт) 13:33

Поэтому используют не Random number, а привязку к конфигурационным данным. К каким именно - дело вкуса.
А я все практикую лечение травами...

CORBA
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 179
Зарегистрирован: 22.11.2003 (Сб) 13:41
Откуда: Ukraine-Crimea-Feodosia

Сообщение CORBA » 07.03.2006 (Вт) 13:45

Twister писал(а):Поэтому используют не Random number, а привязку к конфигурационным данным. К каким именно - дело вкуса.


Ну вот например я продал фирме "х" программу к примеру, привязался материнке, она сгорела, заменили на новую такой же модели (тобиш Windows не переустанавливали) в итоге моя прога благополучно перестаёт запускаться или что ещё глумит. Фирма "х" в непонятке начинает матерится.
У каждой сложной задачи есть множество простых для понимания, но неправильных решений.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 07.03.2006 (Вт) 14:08

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

PS Не хотелось бы вновь поднимать эту тему, так что советую не разводить флуд, все триста раз обсуждалось...
А я все практикую лечение травами...

kminas
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 31.10.2005 (Пн) 20:17
Откуда: Ростов-на-Дону

Сообщение kminas » 07.03.2006 (Вт) 21:58

xqz_me писал(а):
При каждом запуске или при установке?
Написано же:
1. Программа при запуске генерирует случайное число к примеру 2435343653
2.Где-то ставит метку о том что число уже генерировалось(к примеру в реестре). Это для того, чтобы при последующем запуске генерация не производилась.

Код: Выделить всё
И куда вставлять этот код.

:shock: В программу, наверное.


1. При каждом запуске?
2. Код в программу это ясно всем, а в какой элемент формы, ну не представляю я ваще этого!?
Константин

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 07.03.2006 (Вт) 23:03

Да вроде ж понятно написано:
1. Программа при запуске генерирует случайное число к примеру 2435343653
2.Где-то ставит метку о том что число уже генерировалось(к примеру в реестре). Это для того, чтобы при последующем запуске генерация не производилась.

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

Ну а код проверки вставляй в то место программы, которое у тебя выполняется при запуске (Form_Load основной формы, к примеру).
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

kminas
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 31.10.2005 (Пн) 20:17
Откуда: Ростов-на-Дону

Сообщение kminas » 08.03.2006 (Ср) 22:05

VVitafresh
Спасибо! Еще бы узнать, как устроен этот генератор и как ставить метку в реестре или где-нибудь еще?
Константин

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 08.03.2006 (Ср) 23:31

kminas писал(а):VVitafresh
Спасибо! Еще бы узнать, как устроен этот генератор и как ставить метку в реестре или где-нибудь еще?

Стандартная ф-ия генерации случайного числа в VB -- RND(). Что там использует GPP в своей защите спроси лучше у него.
Насчет работы с реестром: поиск по форуму тебе поможет.
Ну для начала попробуй SaveSetting, GetSetting. Потом посмотри: http://bbs.vbstreets.ru/viewtopic.php?t=9666
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

kminas
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 31.10.2005 (Пн) 20:17
Откуда: Ростов-на-Дону

Сообщение kminas » 09.03.2006 (Чт) 8:43

Большое спасибо за помощь. Попробую.
Константин


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 58

    TopList