Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];

Вниз

Алгоритм генерации серийника   Найти похожие ветки 

 
Blacki   (2003-02-28 10:29) [0]

Подскажите пожалуйста 2 алгоритма:
1. Проверка, подходит ли серийник к даному логину(этот будет в моей программе)
2. Генерация по логину серийника
Всё это для того чтобы для моей программы смогли сделать кряк но не генератор серийников.
Или просто подскажите урлами.


 
Delirium^.Tremens   (2003-02-28 10:31) [1]

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


 
mrcat   (2003-02-28 10:41) [2]


1. Проверка, подходит ли серийник к даному логину(этот будет в моей программе)
2. Генерация по логину серийника


Самый примитивный метод: делать свертку от логина (хэш-функция) с добавлением дополнительных параметров, указываемых при регистрации (только по логину делать не рекомендуется - вероятность совпадения = 1 для пользователей с одинаковым логином)


 
joint   (2003-02-28 13:07) [3]

Если в программе будет кусок кода в котором рассчитывается правильный серийник и сравнивается с введенным, то считай, что генератор серийников рано или поздно сделают. Может быть, подойдет такое:воспользовавшись какой-то системой несимметричного шифрования сгенерировать пару ключей. Секретный зашиваешь в программу, публичный держишь у себя. При регистрации программы создаешь свертку, как говорил mrcat; я бы дополнил, что можно в качестве доп.параметров использовать какую-то постоянную для данной машины информацию-напр. ID винта, видеокарты, и.т.д. Потом все это записываешь в какой-то файл и требуешь послать себе. У себя шифруешь эту инфу своим ключом и посылаешь обратно. Теперь когда программа запускается у клиента, она по новой делает свертку и пытаеся расшифровать то, что ты ей послал, ключом, который зашит в программе. Если результат идентичный, значит все Ок, можно работать, иначе-до свиданья.Таким образом, кроме тебя никто не сгенерирует за приемлимое время зашифованный твоим ключом файл, даже если у него есть секретный ключ и он знает, что именно ты шифруешь( по крайней мере так пишут в книгах:))


 
mrcat   (2003-02-28 13:14) [4]

joint © (28.02.03 13:07)
>>Секретный зашиваешь в программу


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


 
joint   (2003-02-28 15:09) [5]

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


 
Anatoly Podgoretsky   (2003-02-28 15:40) [6]

joint © (28.02.03 15:09)
Из приватного ключа можно сгенерировать общий, наоборот нельзя.


 
Dms   (2003-02-28 15:42) [7]


> Всё это для того чтобы для моей программы смогли сделать
> кряк но не генератор серийников.

А какая разница ? Принцип что-ли ?


 
.::D.e.M.o.N.i.X::.   (2003-02-28 16:04) [8]

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


 
joint   (2003-02-28 16:12) [9]

Anatoly Podgoretsky © (28.02.03 15:40)
Согласен, не самую умную вещь предложил:(
Вернее перепутал общий о приватный ключи.


 
mrcat   (2003-02-28 17:15) [10]

joint © (28.02.03 15:09)
Почему противоречит? Ведь там главное что по одной половине ключа нельзя сгенерировать другую


http://www.racal.ru/rsp/rsa.htm
Здесь достаточно прозрачно описан принцип работы ассиметричного алгоритма RSA (см. ссылку); К тексту могу лишь добавить, что зная d, найти (n, e) не составит труда.


 
Blacki   (2003-02-28 18:03) [11]

2 mrcat © (28.02.03 10:41)
>Самый примитивный метод: делать свертку от логина (хэш-функция) с добавлением дополнительных параметров, указываемых при регистрации (только по логину делать не рекомендуется - вероятность совпадения = 1 для пользователей с одинаковым логином)


Так мне и не надо чтобы у разных имён былие разные пароли. Мне главное чтобы первый алгоритм не содержал самого алгоритма генерации, но мог проверит подходит ли серийник к имени. А второй алгоритм всё таки должен получать по логину серийник(надо же как то генерировать мне серийники). И код не подкинете, а то голой теории у меня и так полная голова


 
mrcat   (2003-02-28 18:39) [12]

Blacki © (28.02.03 18:03)
Мне главное чтобы первый алгоритм не содержал самого алгоритма генерации, но мог проверит подходит ли серийник к имени. А второй алгоритм всё таки должен получать по логину серийник(надо же как то генерировать мне серийники).


чего-то невыполнимого хочешь...
принцип работы генератора (кряка) сер. номеров основан на известности алгорима создания сер. номеров; По сути это тот же 2.Генерация по логину серийника но в руках "неправедных".

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


 
Фома   (2003-03-02 01:21) [13]

Еще генератор случайных чисел можно привинтить, а логин использовать как вектор инициализации...

И потом это регистрилово продавать как самостоятельный продукт...:)))



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

Форум: "Основная";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.014 c
7-39600
Eugene
2002-12-06 12:59
2003.03.13
Блокировка клавиатуры через глобальный HOOK, возможно ли?


1-39250
KoluChi
2003-03-03 09:59
2003.03.13
Как распаковать архив из памяти


3-39221
Ixion
2003-02-23 00:12
2003.03.13
Текущий пользователь


6-39443
Dolton
2003-01-24 10:45
2003.03.13
Как узнать IP адреса


1-39262
Zelius
2003-02-28 14:21
2003.03.13
Как узнать какой кнопкой вызвана DropDownMenu?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский