![]() |
|
![]() ![]() ![]() |
|
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 6 Всего: 250 |
вот набросок :
разбирайтесь и приспосабливайте ![]() Это сообщение отредактировал(а) mes - 5.4.2009, 17:03 |
|||
|
||||
Zakhar_Shan |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 14.6.2007 Где: Тюмень Репутация: 1 Всего: 2 |
||||
|
||||
A5uKa |
|
|||
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: 2 Всего: 16 |
можешь потом выложить что получилось ?
|
|||
|
||||
Zakhar_Shan |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 14.6.2007 Где: Тюмень Репутация: 1 Всего: 2 |
||||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
||||
|
||||
Zakhar_Shan |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 14.6.2007 Где: Тюмень Репутация: 1 Всего: 2 |
||||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
||||
|
||||
Zakhar_Shan |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 14.6.2007 Где: Тюмень Репутация: 1 Всего: 2 |
||||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Я бы сделал так:
Прога. В папке с ней файлик, в котором хранится зашифрованный пароль (шифровать можно как угодно. даже тем же XOR'ом). Если этого файлика нет прога вообще не запускается (должна быть соответствующая проверка в OnCreate), иначе открываем файл, расшифровываем пароль и выдаём пользователю окно с предложением ввести пароль. Если пользователь испортил файлик с паролем (например, при помощи блокнота) пароль расшифруется не верно ![]() А у преподавателя есть маленькая программка, которая даёт возможность изменить пароль. ЗЫ а вообще, вариантов много... Удачи. ;) -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
Zakhar_Shan |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 14.6.2007 Где: Тюмень Репутация: 1 Всего: 2 |
Прошу прощение за задержку... личные дела.
и так: Это будет мой id, по которому будет генерится код: Для удобства восприятия пользователем, разделяем строку знаком "-", через каждые 4 символа, пусть это будет наш id компа:
Эта функция выдирает из проца его id, так как я так и не понял, что и где она берёт, но понял, что эти цифры будут всегда одинаковыми, беру не всех их, а лишь кусок, и получаю строку из 16 символов:
Теперь функцией generateLicKey(String inputKey) ,где inputKey-уже имеющийся id компа, генерим сам ключик:
но.. проблемма, при переводе из std::string в String, что то не получается, это я вынес на обозрение сдесь Это сообщение отредактировал(а) Zakhar_Shan - 6.4.2009, 00:00 |
||||||
|
|||||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Я бы не делал привязку к железу или винде...
Что, если "завтра" обновят железо или поставят другую винду, или ещё что-то ![]() -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
Zakhar_Shan |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 14.6.2007 Где: Тюмень Репутация: 1 Всего: 2 |
Прочти зачем мне это нужно, если проц поменяют, то в нашем универе это произойдёт лет через 20-40... ![]() Даже если это произойдёт, преподователь просто сгенерит новый ключ, а привязку к винде он не делает... |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Код на C# использует WMI для идентификации машины. В MSDN есть примеры на С++ использования WMI (лучше взять оттуда). Затем, все накопленные идентификаторы загоняются в MD5 хэш (используется Crypto API).
Криптовать что либо xor'ами совершенно бесполезная идея - это вскрывается за 5 минут. Я бы рекомендовал такую последовательность:
Основное преимущество такого подхода то, что для шифрования и дешифрования используются разные ключи, т.е. без инсталятора (в нем зашит ключ шифрования) будет невозможно установить программу на другую машину, какой бы хакер этим не занимался (только ломать код самой программы) |
|||
|
||||
Zakhar_Shan |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 14.6.2007 Где: Тюмень Репутация: 1 Всего: 2 |
||||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Примерчик будет ОЧЕНЬ объемный. По всем этим пунктам есть примеры в MSDN (www.msdn.microsoft.com). Набираешь у них в поиске и вуаля ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |