Russian Qt Forum
Ноябрь 23, 2024, 00:24
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Защита программы на Qt
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Защита программы на Qt (Прочитано 31244 раз)
mwnuke
Гость
Защита программы на Qt
«
:
Март 19, 2008, 08:27 »
Здравствуйте!
Начальство пожелало, чтобы на программу была установлена защита в виде привязки к идентификатору компьютера (hardwareID).
Чтобы сгенерировать этот идентификатор мне необходимо получить серийный номер какой-нибудь железяки (матери, винта и т.д.).
В случае с Windows эти данные выдираются с помощью WinAPI.
Но программа-то у нас на Qt ))
Отсюда вопрос: можно ли средствами Qt получить уникальный идентификатор компьютера?
Если нет - то посоветуйте альтернативные варианты.
Спасибо!
Записан
Tonal
Гость
Re: Защита программы на Qt
«
Ответ #1 :
Март 19, 2008, 11:12 »
Купить нормальную ключевую защиту?
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Защита программы на Qt
«
Ответ #2 :
Март 19, 2008, 12:22 »
А что тебе мешает использовать винапи?
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
mwnuke
Гость
Re: Защита программы на Qt
«
Ответ #3 :
Март 19, 2008, 18:59 »
Цитата: panter_dsd от Март 19, 2008, 12:22
А что тебе мешает использовать винапи?
Под Windows - не мешает.
Под Linux и MaсOS - мешает отсутствие этого самого WinAPI
До аппаратных ключей наша контора вряд ли снизойдет, так что, видимо придется писать свой кроссплатформенный класс, где использовать родные Апи операционок ))
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Защита программы на Qt
«
Ответ #4 :
Март 19, 2008, 19:03 »
Поищи в stl, может что и накопаешь.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Вячеслав
Гость
Re: Защита программы на Qt
«
Ответ #5 :
Март 19, 2008, 19:38 »
Вообще , если у конторы нет денег ну хотя-бы (
http://www.astroma-spb.ru/ru/products/protection/
- НЕ РЕКЛАММА !), то заморачиваться с защитой - себе дороже ... Если продукт действительно востребован - поломают нафиг фсе эти привязки на раз ... Особеноо просто под пингвином
Записан
mwnuke
Гость
Re: Защита программы на Qt
«
Ответ #6 :
Март 19, 2008, 21:04 »
Цитата: Вячеслав от Март 19, 2008, 19:38
Вообще , если у конторы нет денег ну хотя-бы (
http://www.astroma-spb.ru/ru/products/protection/
- НЕ РЕКЛАММА !), то заморачиваться с защитой - себе дороже ... Если продукт действительно востребован - поломают нафиг фсе эти привязки на раз ... Особеноо просто под пингвином
У конторы деньги есть, только делается все как правило очень и очень не скоро.
Пока они это дело закупят - страшно подумать сколько времени пройдет. ))
Записан
Вячеслав
Гость
Re: Защита программы на Qt
«
Ответ #7 :
Март 19, 2008, 21:28 »
Хм ... А пойти по пути того-ж qcad'а ( кстати на куте написан ) ?
Записан
mwnuke
Гость
Re: Защита программы на Qt
«
Ответ #8 :
Март 19, 2008, 21:35 »
Цитата: Вячеслав от Март 19, 2008, 21:28
Хм ... А пойти по пути того-ж qcad'а ( кстати на куте написан ) ?
Просветите пожайлуста, в чем заключается этот путь?
Записан
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: Защита программы на Qt
«
Ответ #9 :
Март 19, 2008, 22:07 »
Цитата: Tonal от Март 19, 2008, 11:12
Купить нормальную ключевую защиту?
+1
Есть неплохию ключи, но правда под винду -
http://www.guardant.ru/
«
Последнее редактирование: Март 19, 2008, 22:10 от pastor
»
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
serg_hd
Хакер
Offline
Сообщений: 668
Re: Защита программы на Qt
«
Ответ #10 :
Июнь 14, 2010, 16:19 »
с момента создания темы прошло 2 года, может быть сегодня будут какие-нибудь новые интересные варианты решения данной задачи, кроме покупки и привязки к железу?
Надо поставить защиту на софтину, а связывать её с сервером не хотелось бы, зачем лишние зависимости.
Интереса ради: а по какому принципу ломается простейшая защита типа вшитого пароля в саму прогу, hex-редактором или чем, может кто-нибудь в курсе? Просто интересно очень, никогда не пробовал эту нишу. И если это дело вырезается, то что мешает вырезать код синхронизации с сервером (хотя эта защита считается надёжнее чем первый вариант)?
«
Последнее редактирование: Июнь 14, 2010, 20:42 от serg_hd
»
Записан
kubuntu/Win7/x64/NetBeans
ieroglif
Гость
Re: Защита программы на Qt
«
Ответ #11 :
Июнь 14, 2010, 18:16 »
мне кажется, что вопрос защиты упирается в основном не в технически детали - как привязаться к железу или к серверу, а скорее - как защитить код защиты от взлома.
мне кажется что если погуглить, то не проблемно найти классы для привязок к железу под основные ОС - линух, мак, венды. объеденить это в один Qt класс - займёт конечно время, но не сильно много.
а вот как защитить код?
то о чём я СЛЫШАЛ - обфускация, компрессия, выполнение какого-то динамического кода в памяти (про это интереснее всего). ничего из этого ручками не трогал - как-то не дотягивались
так что мне кажется, что хоть для данного форума тема крайне полезна, но ответы лучше искать на других форумах (wasm.ru к примеру)
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Защита программы на Qt
«
Ответ #12 :
Июнь 14, 2010, 19:43 »
Цитата: serg_hd от Июнь 14, 2010, 16:19
Интереса ради: а по какому принципу ломается простейшная защита типа вшитого пароля в саму прогу, hex-редактором или чем, может кто-нибудь в курсе? Просто интересно очень, никогда не пробовал эту нишу. И если это дело вырезается, то что мешает вырезать код синхронизации с сервером (хотя эта защита считается надёжнее чем первый вариант)?
Уже много лет как я этим перестал заниматься, так что мои познания во взломе устарели
Но если очень грубо/приближенно то принципы выглядят так:
- нужно запустить программу в отладчике
- тормознуться (breakpoint) там где проверяется защита. Сильно помогает вызов WinAPI (хороший отладчик их прекрасно отслеживает), а MacsBug - то вообще была песня. Хорошая помощь диалог типа "программа не авторизована" - ведь по стеку видно откуда пришло управление
- дальше анализ проверок/if'ов и забивание их nop'ами, xor'ами. Разумеется не всегда это проходит - но в очень многих случаях - на ура. Большинство пишущих не имеют никакого понятия как строится код и лепят что-то типа
Код:
if (strcmp(currentCode, correctCode) != 0)
...
Конечно это становятся легкой добычей
А вообще гораздо интереснее писать программы чем ломать их
Записан
Sancho_s_rancho
Гость
Re: Защита программы на Qt
«
Ответ #13 :
Июнь 14, 2010, 20:18 »
Цитата: ieroglif от Июнь 14, 2010, 18:16
а вот как защитить код?
то о чём я СЛЫШАЛ - обфускация, компрессия, выполнение какого-то динамического кода в памяти (про это интереснее всего). ничего из этого ручками не трогал - как-то не дотягивались
так что мне кажется, что хоть для данного форума тема крайне полезна, но ответы лучше искать на других форумах (wasm.ru к примеру)
Знавал я одну программу, автор которой очень не хотел, чтобы ее сломали. Программа была весьма навороченной(много математики и графики, спектры там разные) и являлась штучным товаром. Так он сделал привязку к железу и модификацию кода в памяти. В результате если у пользователя летело железо, то он вынужден был обращаться к разработчику, а при работе касперского(может и некоторых других антивирусов) его программа начинала выдавать ошибки(антивирус не любит всякий самомодифицирующийся код и ставит палки в колеса). Но разработчика это устраивает, т.к. штучный товар. Если вы готовы решать головные боли пользователя и "крутой" защиты, то реализовывайте что-нибудь аналогичное.
пи.си. конечно эту программу никто не взломал. Но не потому что крутая защита, а просто пользователей всего несколько сотен.
Записан
serg_hd
Хакер
Offline
Сообщений: 668
Re: Защита программы на Qt
«
Ответ #14 :
Июнь 14, 2010, 20:23 »
Цитата: Igors от Июнь 14, 2010, 19:43
Большинство пишущих не имеют никакого понятия как строится код и лепят что-то типа
Код:
if (strcmp(currentCode, correctCode) != 0)
...
да, вот поэтому и интересны детали взлома - чтобы знать чего точно не надо делать
«
Последнее редактирование: Июнь 14, 2010, 20:27 от serg_hd
»
Записан
kubuntu/Win7/x64/NetBeans
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...