Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2011, 19:28   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию Методы защиты ПО, есть ли выход из безвыходной ситуации?

Доброго времени суток!

Собственно, как защитить ПО?
Предпологается продавать прогорамму...

Я вижу вариант сделать тирал и полную версии программы, в тирал в прямом смысле урезать функционал. Авот какщитить полную версию, от распространения?
Человек_Борща вне форума Ответить с цитированием
Старый 16.10.2011, 19:32   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

HASP-ключи пока единственный способ
rpy3uH вне форума Ответить с цитированием
Старый 16.10.2011, 19:56   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

а ещё варианты есть? Слишком сурьёзно HASP.

Последний раз редактировалось Человек_Борща; 16.10.2011 в 20:00.
Человек_Борща вне форума Ответить с цитированием
Старый 16.10.2011, 21:37   #4
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Я вижу вариант сделать триал и полную версии программы, в триал в прямом смысле урезать функционал. Авот какщитить полную версию, от распространения?
в каждую версию сохранять уникальный код. В случае если программа появится в открытом доступе, то по коду можно будет понять, кто распространитель программы, после чего отказывать в поддержке этому распространителю
rpy3uH вне форума Ответить с цитированием
Старый 16.10.2011, 22:04   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

rpy3uH, прошу прощения, не понял в какосм смысле "уникальный код"?
И его ведь можно найти и изменить..

А вот допустим я генерирую уникальный ключ, как проверять его правильность?
Юзер воткнул правильный ключ, но я так же знаю, что
Код:
If s1 = s2 then
очень легко отсекается в дизассемблере или дебагере.

Последний раз редактировалось Человек_Борща; 16.10.2011 в 22:34.
Человек_Борща вне форума Ответить с цитированием
Старый 17.10.2011, 00:42   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
rpy3uH, прошу прощения, не понял в какосм смысле "уникальный код"?
И его ведь можно найти и изменить..
1) защищать программу навесным протектором.

2) ключ - эта последовательность может быть использована для расшифровки (в памяти, разумеется) определённых процедур и функций. Это дело можно автоматизировать. А Вы (как пользователь - без исходников и утилит шифрации) попробуйте изменить этот ключик в готовом EXE - тогда нужно или расшифровать нужные процедуры (или зашифровать их другим ключём. Поверьте - это далеко не банально не каждый сможет это провернуть!

3) дополнительно данным ключиком можно шифровать необходимые для работы данные (БД, изображения, ключи в реестре и т.д. и т.п.)

4) меток может быть несколько (в том числе и разные/инвертированные/шифрованные/составные) и они могут быть "размазаны" по разным местам EXE.

5) ну и "классика жанра" - программа проверяет свою контрольную сумму. Изменилась - не запускается.
Это, конечно, тоже ломается.
Но опять таки - стоит ли овчинка выделки.

Ну и последнее.
Начните с того, что ЗНАЕТ ли пользователь программы, зашита в неё уникальная метка или нет. Вот Вы знаете, зашита ли метка в тот софт, которым Вы пользуетесь/покупали ?... Вот тот ж..

p.s. а вообще всё, "что один человек сделал - другой завсегда сломать может!" (c) кузнец
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.10.2011, 19:28   #7
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
По умолчанию

Чего за программа? Может это игра Сапер - и тогда Вашу программу никто ломать даже не будет пытаться .
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 17.10.2011, 20:12   #8
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
rpy3uH, прошу прощения, не понял в какосм смысле "уникальный код"?
я говорю про вариант когда прогу продают какой-либо организации, сразу в полной версии без каких либо ограничений и прочего. в этом случае в этй прогу можно зашить какой-нибудь уникальный код, который сам по себе ничего меняет в программе, просто он есть, где именно никто не знает, она может быть где угодно, и если с этим кодом программа не взаимодействует его невозможно найти.
потом если программа появляется в общем доступе, то можнь будет легко по этому коду понять от кого исходит утечка в открытый доступ. после чего отказать в поддержке программы организации которая допустила утечку.

в случае если работа идёт не на корпоративного клиента, то этот метод конечно неприемлем
rpy3uH вне форума Ответить с цитированием
Старый 25.10.2011, 16:21   #9
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Цитата:
как проверять его правильность
Ну, например, при помощи хитрого алгоритма генерировать на основе ключа куски кода, которые подсовывать в жизненно важные функции программы, но так, чтоб ошибки не приводили к краху. То есть с неверным ключом в каком-то месте программы окажется вычитание вместо сложения, в другом - неинициализированная переменная, в третьем - указатель, ведущий в космос, еще где-то массив, забитый мусором из стека... Состояние программы становится неопределённым и это адски сложно отлаживать.
пыщь
JTG вне форума Ответить с цитированием
Старый 26.10.2011, 01:20   #10
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

Нет, программа не калькулятор. Просто я пересёк тот период, когда было много свобод. времени и ветер в голове+желание делать что-то для других не имея с этого ничего(Трата времени в пустую).


rpy3uH, т.е. в каждый билд для кадого приват. клиента пихать новый ID и вести учет. В через каждое n времени. Искать взлом. версии своего продукта? Варинт очень даже ничего.

Но как спрятать что-то в теле программы а затем найти это там?
Строка не вариант, число тоже не вариант. МД5 меняется. crc32 подменить можно.
В ресурсы не впихнуть. А комментарии вырезаются. Что остаётся в exe и не взаимодействует с кодом, при этом не вырезается копилятором, и не может быть найдено в приниципе?

JTG, найти такое число- при котором программа могла работать, а при изменении которого программа вешалась во многих местах. Тоже остроумно. Но чисел множество. Слишком сложно под каждого клиента делать вычисления, пихать уравнения....

Последний раз редактировалось Человек_Борща; 26.10.2011 в 01:38.
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
методы защиты административного раздела Julitan PHP 1 10.10.2011 09:27
ПOМОГИТЕ профи, оптимизация MySQL, есть ли выход??? kikikiki SQL, базы данных 0 08.02.2011 22:47
Давно Ищу Выход из ситуации! ЯЧайник Софт 1 27.01.2011 20:29
Какие есть методы для поиска даты в тексте ? kakawkin Общие вопросы Delphi 9 17.10.2010 19:28
Исключительные ситуации Mickle Общие вопросы Delphi 6 07.10.2007 21:03