Вторник, 24 Декабря 2024, 04:01

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Алгоритм генерирования ключа на C#
RikettaДата: Суббота, 14 Января 2012, 12:00 | Сообщение # 1
Strategist
Сейчас нет на сайте
Нужен алгоритм, который будет генерировать разные ключи одинакового типа. Что-то вроде SC3FR-RRTGG-FGGH5-KJKLN-55UT7 или подобные.

Алгоритм должен работать и для проверки валидности ключа.
Т.е. генерирование и проверка по одному алгоритму.

Можно исходники KeyGen'ов. Алгоритмы шифрования есть, а вот самого ключа нет sad

Пожалуйста помогите smile Ваши идеи пожалуйста.


Fougerite - Rust Server OpenSource API
TerraDev - Terraria OpenSource Hack


Сообщение отредактировал Riketta - Суббота, 14 Января 2012, 12:14
ArhimondusДата: Суббота, 14 Января 2012, 14:32 | Сообщение # 2
частый гость
Сейчас нет на сайте
Например нам нужен 8-и значный код. Исходные данные: Имя пользователя
Имя пользователя: MyName
Циклически сдвигаем буквы (по алфавиту) пользователя например на численную сумму всех символов в имени.
M = 77
y = 121
N = 78
a = 97
m =109
e = 101
В сумме = 583
Сдивагаем циклически каждую букву по алфавиту на 583 позиции.
77 + 583 = 660
660 - (660 / 26) * 26 = 10 (буква J)
121 + 583 = 704
704 - (704 / 26) * 26 = 2 (буква B )
...
7-ой символ кода делаем исходя из буквы M
8-ой символ кода делаем исходя из буквы y

Можно сдвигать и не на сумму, а на позицию каких-либо символов. Допустим мы вычисляем 5-ый по счёту символ кода. Сдвигаем символ на сумму и на 5.


Сообщение отредактировал Arhimondus - Суббота, 14 Января 2012, 14:35
VinchensooДата: Суббота, 14 Января 2012, 14:37 | Сообщение # 3
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Причем тут шарп-то? Или не в состоянии переложить алгоритм в код?

TimKruzДата: Суббота, 14 Января 2012, 16:12 | Сообщение # 4
старожил
Сейчас нет на сайте
Riketta, берёшь и придумываешь любой алгоритм. Что сложного?
Специальных алгоритмов генерирования и инструментов для этого на C# наверняка нет, т.к. в данном случае использовать стандартные или популярные методы бессмысленно - легко "крякнут" защиту, исходя из опыта вскрытия подобных программ.

Quote (Riketta)
Алгоритмы шифрования есть, а вот самого ключа нет

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

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




Сообщение отредактировал TimKruz - Суббота, 14 Января 2012, 16:21
RikettaДата: Суббота, 14 Января 2012, 16:56 | Сообщение # 5
Strategist
Сейчас нет на сайте
Все, написал алгоритм уже сам. : )
Работает. Его разглашать не буду в целях безопасности проекта. smile
Если кому понадобиться - пишите в ЛС, помогу немного.


Fougerite - Rust Server OpenSource API
TerraDev - Terraria OpenSource Hack
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг