Форум: "Основная";
Текущий архив: 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