Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: fuCtor от Октябрь 10, 2010, 11:43



Название: Защита программы от модицикации
Отправлено: fuCtor от Октябрь 10, 2010, 11:43
На днях возник вопрос, можно ли как-нибудь защитить программу распространяемую в виде бинарника под Linux защитить от модификации. К примеру посмотрев содержимое выходного файла было много интерестного внутри, тексты стилей, имена, тексты запросов и тд.
После изменения текстовых строк, программа продолжала работу.

Пока вижу лишь вариант простейшего шифрования всех строковых констант, но есть ли инет способы.


Название: Re: Защита программы от модицикации
Отправлено: merke от Октябрь 10, 2010, 17:00
Готовый класс, который криптует/декриптует I/O потоки

Поменять расширение вложения на .rar


Название: Re: Защита программы от модицикации
Отправлено: fuCtor от Октябрь 10, 2010, 18:57
Спасибо за класс, но вопрос немного в другом. Вопрос как скрыть строковые константы в коде программы.

Допустим если есть некоторые зашитые запросы, то никто не мешает подменить их на свои и слить информацию.


Название: Re: Защита программы от модицикации
Отправлено: xokc от Октябрь 10, 2010, 20:42
А как у вас с лицензией? Вы счастливый обладатель коммерческой версии Qt и можете себе позволить не поставлять свои исходники? В любом случае, если система настолько криво спроектирована, что ее БД можно слить всего лишь посмотрев на SQL запросы на клиенте - то её уже не защитить по-человечески. Ну зашифруете вы строковые константы - но ведь в конце-концов они всё равно расшифруются и получить их, например, снифером не составит особого труда.


Название: Re: Защита программы от модицикации
Отправлено: ufna от Октябрь 10, 2010, 20:49
хокс, у Вас устаревшие данные насчет лицензии :)


Название: Re: Защита программы от модицикации
Отправлено: Akon от Октябрь 10, 2010, 22:43
Шифрование.


Название: Re: Защита программы от модицикации
Отправлено: fuCtor от Октябрь 11, 2010, 17:03
А как у вас с лицензией? Вы счастливый обладатель коммерческой версии Qt и можете себе позволить не поставлять свои исходники? В любом случае, если система настолько криво спроектирована, что ее БД можно слить всего лишь посмотрев на SQL запросы на клиенте - то её уже не защитить по-человечески. Ну зашифруете вы строковые константы - но ведь в конце-концов они всё равно расшифруются и получить их, например, снифером не составит особого труда.

Слив базы это абстрактный пример в вакууме. Но решение уже вроде как придумали =)
А по поводу лицензий, то уже исходники давно поставлять не надо, единственное можно подменять библиотеки динамические, но тут уже кроме статической линковки ничего не спасет.