Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Реализация лицензирования и ключа активации Добавлено: 22.03.10 00:36  

Автор вопроса:  Svarge
Всем известны программы генерирующие некоторый ID, который требуется послать разработчику, и в ответ ввести присланный от разработчика код активации. Кто нибудь реализовывал это, поделитесь опытом. В частности генерации этого самого ID, как я понимаю завязанного на железо, на что лучше завязывать и как генерировать сам ID, использование "открытого ключа" при этом и т.п.

Ответить

  Ответы Всего ответов: 14  

Номер ответа: 1
Автор ответа:
 Just



Вопросов: 4
Ответов: 330
 Профиль | | #1 Добавлено: 23.03.10 10:53
вот пару примеров...
полученные значения можно перемножить, разделить и тп

  1.  
  2. Private Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long
  3. Dim SerialNum As Long
  4. Dim MyDrivePath As String * 3
  5.  
  6. Private Sub Form_Load()
  7.     MyDrivePath = App.Path
  8.     Call GetSerialNumber(MyDrivePath)
  9.     If SerialNum = "2081068817" Then Exit Sub
  10. End
  11. End Sub
  12.  
  13. Function GetSerialNumber(strDrive As String) As String
  14. Dim res As Long
  15. Dim Temp1 As String
  16. Dim Temp2 As String
  17. Temp1 = String$(255, Chr$(0))
  18. Temp2 = String$(255, Chr$(0))
  19. res = GetVolumeInformation(strDrive, Temp1, Len(Temp1), SerialNum, 0, 0, Temp2, Len(Temp2))
  20. ' MsgBox Temp1
  21. ' MsgBox Temp2
  22. End Function



  1.  
  2. Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
  3. Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
  4.  
  5. Private Sub Form_Load()
  6. Dim username As String * 200
  7. Dim return_name As Long
  8. return_name = GetUserName(username, 200)
  9. Label1.Caption = username
  10.  
  11. Dim comp_name As String * 200
  12. Dim comp As Long
  13. comp = GetComputerName(comp_name, 200)
  14. Label2.Caption = comp_name
  15. End Sub

Ответить

Номер ответа: 2
Автор ответа:
 Иваныч



Вопросов: 18
Ответов: 21
 Профиль | | #2 Добавлено: 23.03.10 16:38
я в свое время делал так:
x1=случайное число1
ss=№ серийника HDD
ss2=""
for i=1 to len(ss)
   s=val(mid(s,i,1))
   if s+x1<10 then ss2=ss2+str(x1+s) else ss2=ss2+str(s)
next i
ss2=x1+ss2

Ответить

Номер ответа: 3
Автор ответа:
 Svarge



Вопросов: 4
Ответов: 14
 Профиль | | #3 Добавлено: 24.03.10 09:31
Номер серийника винта (а процессора можно?) из sysinfo получаем или еще как-то?
И еще вопрос - можно ли как-то проследить какие преобразования я делаю внутри экзешника с этим серийником винта или с паролем?
Читал что например при сравнении пароля со значением Х="password" это легко можно отследить и узнать этот password.
Я хочу сделать так, что-бы вводимый ключ активации сравнивался не с конкретным значением зашитым в программе, а со значением которого в программе нет и которое генерируется на-лету из кучи данных, как постоянных-серийник винта, так и переменных-например времени...

Ответить

Номер ответа: 4
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #4 Добавлено: 24.03.10 10:31
Юзать серийник РАЗДЕЛА винта для привязки проги якобы к железу?
Незнаю нафиг, незнаю.

Ответить

Номер ответа: 5
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #5 Добавлено: 24.03.10 10:37
Проследить можно почти всё, кейгены так и пишут.

Ответить

Номер ответа: 6
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #6 Добавлено: 24.03.10 10:42
Помнится драйвер тв-тюнера при установке просил серийник, я нашел его зашитый на форме сетапера, в скрытом контроле.

Ответить

Номер ответа: 7
Автор ответа:
 Just



Вопросов: 4
Ответов: 330
 Профиль | | #7 Добавлено: 24.03.10 11:55
что б труднее было взломать, можно упаковщиком воспользоваться, лучше малоизвестным, имхо
поищи в инете статьи (против) взлома прог (ollydbg, softice)

Ответить

Номер ответа: 8
Автор ответа:
 Svarge



Вопросов: 4
Ответов: 14
 Профиль | | #8 Добавлено: 25.03.10 15:10
Про упаковщики я читал, но то что найду я то и надут другие...
Еще вопрос, наверное последний, если я сделаю суперзапутанный алгоритм с 10 000 проверок пароля, так что проследить его будет дольше чем написать такую же программку, но в конце проверки то обычно происходит какое-то действие типа закрытия программы.. так вот может ли взломщик просто тупо убрать эту команду из exe-шника и все на смарку?

Ответить

Номер ответа: 9
Автор ответа:
 Just



Вопросов: 4
Ответов: 330
 Профиль | | #9 Добавлено: 25.03.10 15:37
угу )
есть "хитрые" упаковщики (платные)
почитай побольше инфы...

это для делфи, но многое для бейсика тоже подойдет
http://www.codenet.ru/progr/delphi/stat/delphi.php

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

Ответить

Номер ответа: 10
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #10 Добавлено: 25.03.10 15:46
Svarge пишет:
сделаю суперзапутанный алгоритм с 10 000 проверок пароля, так что проследить его будет дольше чем написать такую же программку
Была такая игрушка Хром, так там типа этого защита была.

Ответить

Номер ответа: 11
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #11
Добавлено: 25.03.10 20:25
Smith, ну и как, это им помогло?

Ответить

Номер ответа: 12
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #12 Добавлено: 25.03.10 20:47
Честно говоря незнаю, у меня была лицуха и кряками я не интересовался, но думаю нашлись умельцы :)

Ответить

Номер ответа: 13
Автор ответа:
 PROgrammIST



ICQ: 403099048 

Вопросов: 22
Ответов: 94
 Web-сайт: forum.quotedev.org.ru
 Профиль | | #13
Добавлено: 29.03.10 23:42
У меня игруха эта была - но не лицензия)) Так что вполне возможно что взломали. А так на счет защиты - думаю и правд бесполезно... Лучше, как и советовали, воспользоваться объявлением о материальной помощи или, если очень охота сделать защиту, можно код продавать очень дешево. Например, за рублей 5 или меньше. Тогда я думаю пользователям несложно будет купить ключик. тем более, что не все люди умеют взламывать проги.

Ответить

Номер ответа: 14
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #14
Добавлено: 05.04.10 15:03
Качаем карденый VMrotect, выращиваем прямые руки и все хорошо.
Пишем самопальный прот/морфер/криптор/пакер/менеджер лицензий и радуемся.
Юзаем техники на уровне кода (бажную математику, например).

Судя по вопросу топикстартера, ему рано писать серьезный софт, а картошку защищать лицензией - смысла нет.
ИМХО.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам