![]() |
|
![]() ![]() ![]() |
|
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
Как можно получить серийный номер процессора? Либо какого нибудь другого устройства (материнская плата, жесткий диск). Если не серийник, то какую либо другую уникальную информацию. Это нужно для привязки программы к конкретному компьютеру.
|
|||
|
||||
Rodman |
|
|||
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
*.h
Добавлено через 4 минуты и 11 секунд исходник Присоединённый файл ( Кол-во скачиваний: 44 ) ![]() |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
Спасибо.
Скажите, а сложна ли следующая защита программы? Определяю серийный номер (например 1234). Провожу с ним несложные арифметические операции (например 1234 + 10 = 1244). Полученные номер (1244) является внутренним кодом, зависящим от железа, он высылается разработчику. Разработчик (то есть я) генерирую внешний код, который определяется опять же несложными арифметическими действиями над полученным внутренним кодом (например 1244 +100 = 1344). Далее сохраняю этот код в текстовый файл и отдаю пользователю. Проверка осуществляется следующим образом. Программа определяет серийный номер (1234). Проводит с ним все те же нужные арифметические действия (1234 + 10 = 1244). Проводит с ним все те же дополнительные действия (1244 + 100 = 1344). Если полученное значение совпадает со значением, прочитанном из файла, который я дал пользователю - программа запускается. Если не совпадает - выдается сообщение, что программа не зарегистрирована и она закрывается. |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
ИМХО у этого способа много минусов.
Некоторые из них: - Проблемы после апгрейда ПК. Ключ уже не годен. Нужно опять связываться с разработчиком. - Нет возможности пользоваться честно купленной программой на ПК дедушки, к которому владелец программы поехал отдыхать. (одна из ситуаций) - Зависимость от Интернета, ну или необходимость созваниваться, для получения ключа. Это сообщение отредактировал(а) artsb - 6.1.2010, 18:31 -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
Ну, все эти вопросы удобства - это одна сторона. Меня больше интересовала сторона безопасности. |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Да вроде нормально...
Но может умные люди ещё что-нибудь скажут. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
Если кому-то сильно понадобится твоя программа,то её вскроют! Если продукт коммерческий, то лучше использовать аппаратный ключ защиты.(senselock). Ну а если проект не очень серьезный, то пойдет. Но как написал камрад Выше, есть минусы и не очень приятные.
-------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Не сложна и абсолютно бесполезна - взломают в течении суток ![]() Используйте нормальные криптографические алгоритмы. Используйте CryptoAPI и защищенные хранилища (в CyptoAPI). Результатом регистрации программы должен быть сертификат (или ключ) записанный в защищенном хранилище в неизвлекаемом виде. PS. Все равно сломают, но подольше повозятся ![]() Добавлено через 1 минуту и 2 секунды Вдогонку - у CPU серийного номера нет (Intel сделал его в PPro, был большой скандал - номер изъяли) |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Тут ещё большую роль играет сама программа. Если она будет очень востребована, то можно особо с защитой не заморачиваться - всё равно взломают. С другой стороны, если прога будет не очень востребована, то тоже нет смысла делать крутую защиту - всё равно её никто ломать не будет ![]() ИМХО -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
Программа-то не серьезная, она стоит 20 баксов. И защита крутая не нужна, нужен такой уровень, чтобы неразбирающийся не мог сломать вообще, средний пользователь долго возился, ну а профессионал и интересоваться этой прогой не будет. То есть если моя программа будет сопротивляться взлому хотя бы 10 часов - это уже супер. Так выдержит такая защита 10 часов?
Мне вот что интересно. Есть ли инструментарий, позволяющий взломщику получить код исполняемого файла? Ведь в коде прописан алгоритм обработки серийного номера жесткого диска и его не состовляет труда воспроизвеси и таким образом найти правильные исходящий код и входящий. |
|||
|
||||
xvr |
|
||||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Нафига тогда ее защищать?
![]()
|
||||||||
|
|||||||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
Чтоб хотя бы 20 баксов с нее поиметь)
А какими знаниями и спецпрограммами должен располагать такой "профессионал"? И в каком виде получается исходный код? В том же, как я его пишу? А можно менять исходный код программы, по желанию выключая какие-то блоки, либо добавляя? А вы могли бы сломать такую защиту? Давайте я выложу простенькую программу, где только защита и будет. Попробуете ее взломать? Понятно что это время, какое-никакое, но ща выходные, чисто из спортивного интереса) |
|||
|
||||
vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
Камрад, а если виртуализировать часть кода отвечающую за сверку? -------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
SVN74 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 5.5.2008 Где: Комсомольск на Дн епре Репутация: 11 Всего: 18 |
Можно ключ внедрить в тело программы под видом "команд процессора" - все равно эти команды выполняться не смогут, - и пускай попробуют отличить команды от нужного ключа .
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |