Вопросы защиты программ от незаконного копирования и использования встают сейчас всё чаще и чаще. В основном, это, конечно же, связано с ростом популярности коммерческих программ (aka shareware). Пару раз подобные вопросы проскакивали и в форуме.
В этой статье я дам вам несколько советов о том, как защитить свою программу от взлома (речь пойдёт о защите с помощью регистрационного кода). Сразу скажу, что это одно из самых сложных и неблагодарных дел, ведь создать абсолютно непробиваемую защиту невозможно. Ваше творение всегда взломают и выложат кряк. Кстати, если вы думаете, что после этого никто не заплатит за вашу программу, то вы ошибаетесь. В основном, платят не только за возможность пользования, но и за качественный суппорт, возможность бесплатного обновления с сайта и прочую лабуду.
Но всё же стоит подумать не о примитивной (как у большинства сегодняшних shareware-программ), а о достойной защите. Надеюсь, мои советы наставят вас на путь истины :-). Итак, приступим.
СПОРИМ ТЫ НЕ ЗНАЛ, КАК ИЗМЕНЯТЬ ЧИСЛА В PYTHON
№1. Используйте ассемблер (хотя, думаю, не всем это понравится). Функции API и компоненты VCL использовать надо как можно меньше. Дизассемблеры способны распознавать вызовы стандартных функций, и хакер получит возможность создать на них точку останова, то есть заблокировать их вызов.
№2. Не храните регистрационный код в памяти. Делая это, хотя бы шифруйте его или разбивайте на части.
№3. Не храните регистрационный код в одном месте на компьютере пользователя, тем более открыто. Лучше записать его сразу в несколько мест, предварительно зашифровав разными методами шифрования. Это собьёт хакера с толку.
№4. Не проверяйте код сразу после его ввода. Это очевидно. Хорошо сделать функцию-приманку.
№5. Не используйте для временного хранения регистрационного кода одну переменную. Лучший вариант — динамически создавать (по таймеру, например) кучу переменных и записывать его в них. Это даст огромное количество адресов, по которым надо искать регистрационный код и, безусловно, запутает хакера.
№6. Не делайте всего лишь одну проверку кода на правильность. Минимум — три, каждая из которых проверяет код по разным алгоритмам или шаблонам. Одну из них желательно всячески афишировать, а остальные тщательно замаскировать, чтобы взломщик и не подозревал о них. Кроме того, не делайте эти проверки в функции.
Достаточно заблокировать их вызовы и все ваши старания будут напрасными. И ещё. Не давайте настоящим функциям проверки осмысленные имена, типа CodeCheck или IsValidCode.
№7. Как можно больше отвлекающих маневров! Поместите API-функции в цикл и отвлекайте ими хакера. Больше ненужных проверок и расчётов. Пусть программа что-нибудь усиленно шифрует и, в конце концов, возвращает значение, но каждый раз одно и то же.
Проверяйте это значение с эталоном и, если оно не совпадает с ним (а такого ведь и быть не может), вырубайте программу. Взломщик обратит на этот код большее внимание, и это отвлечёт его от реальных проверок.
LANGAME Software — Интерфейс гостя компьютерного клуба
№8. Защищайте программу контрольными суммами (CRC). Это обезопасит вас не только от всевозможных патчей, но и от троянских коней.
№9. Пользуйтесь архиваторами, такими как ASPack или PEPack. Хакер хотя бы потратит время на их разархивирование. Ещё лучше написать свой собственный архиватор с оригинальным способом архивации.
№10. Никогда не выводите сообщения о том, что нарушена защита. По крайней мере, сделайте это спустя пару запусков.
№11. После того, как введён пароль и нажата кнопка OK, сделайте паузу на несколько секунд. Это не даст возможности подобрать регистрационный код перебором.
№12. Сообщения типа «Незарегистрированная версия» создавайте динамически и не храните их статически в программе. Поиск по этим фразам сразу выдаст место проверки. Можете хранить их по частям или в зашифрованном виде. А вообще лучше такие сообщения не выводить вообще.
Это ведь только стимулирует хакера.
№13. Хорошо бы сделать защиту от самых популярных отладчиков и дизассемблеров. Можете, например, по таймеру проверять, запущена ли подобная программа, и если да, то завершать работу. Это, конечно, не остановит хакера, но проблемы у него будут стопроцентно.
Да, и вот ещё что. По мере написания этого, казалось бы крохотного материала, у меня скопилось довольно много практической информации. Так что, возможно, в следующий раз я продолжу эту тему, но освещу её с практической стороны.
Источник: sources.ru
Виды лицензий программного обеспечения
Лицензия информирует пользователя о том, на каких условиях распространяется данное программное обеспечение.
Наиболее часто встречающиеся следующие виды лицензий:
FreeWare
Абсолютно бесплатное программное обеспечение без каких-либо ограничений по функциональности и времени работы.
ShareWare
- программа будет ограничена в своих возможностях;
- программа запустится только несколько раз;
- программа будет обрабатывать ограниченное количество файлов.
Trial
Один из видов условно-бесплатного програмного обеспечения. Обычно не имеет ограничений в функциональности, но имеет ограниченный срок работы — программа будет работать только несколько дней.
Demo
Демонстрационная версия программного обеспечения. Даёт представление об интерфейсе и функциональности программы. Попробовать работать с такой программой удаётся не всегда, поскольку она может представлять собой даже видеоролик.
Commercial
Коммерческое программное обеспечение. Прежде чем работать с такой программой её надо купить. Обычно это такие гиганты как MS Windows, MS Office и др..
Adware
Бесплатное программное обеспечение. За использование такой программы пользователь должен не деньги заплатить, а смотреть рекламу. Деньги автору будет платить рекламодатель.
Ad-supported
Бесплатное программное обеспечение без ограничений в использовании, которое содержит компоненты или услуги, не обязательно связанные с функциональностью программы, но предназначенние для получения дохода разработчиком или поддержки проекта в качестве компенсации за предоставление программного обеспечения бесплатно. Обычно программы с лицензией Ad-supported уведомляют пользователя о рекламных и других не обязательных компонентах в процессе установки и дают возможность запретить их установку. Но существует программное обеспечение и без предоставления такой возможности.
- предлагает изменить домашнюю страницу и (или) поисковую систему по умолчанию в вашем веб-браузере;
- предлагает создать в меню Пуск и (или) на рабочем столе ярлыки не связанные с функциональностью программы;
- во время работы показывает рекламу;
- предлагает загрузить и установить другое программное обеспечение, например, более функциональную платную версию программы или дополнение для веб-браузера;
- при запуске и (или) закрытии открывает веб-страницы с рекламой или другим содержимым, позволяющим получить доход разработчику программы.
Donationware
За такое программное обеспечение нет необходимости платить. Если программа понравилась и есть желание, то можно сделать пожертвование её разработчику. Никаких ограничений в функциональности такого программного обеспечения нет.
Postcardware
За использование такого программного обеспечения надо написать письмо их авторам. Обычно авторам интересно кто, где, как и для чего использует их программу.
GPL
GNU General Public License (Универсальная общественная лицензия GNU) — разрешает пользователям свободно использовать программу, изучать, как она работает, модифицировать и улучшать её, распространять копии исходного кода и исполняемые файлы программы.
Источник: programki.net
Попробуй, прежде чем заплатить. Взгляд на shareware-игры
В этой статье мы с вами обратимся к такому интересному явлению в компьютерно-игровой индустрии, как shareware-игры. Они по праву занимают почетное место на многих винчестерах наряду с «большими» играми. Между стратегическим планированием в Heroes of Might
Игромания https://www.igromania.ru/ https://www.igromania.ru/
Территория разлома
В этой статье мы с вами обратимся к такому интересному явлению в компьютерно-игровой индустрии, как shareware-игры. Они по праву занимают почетное место на многих винчестерах наряду с «большими» играми. Между стратегическим планированием в Heroes of Might and Magic и напряженными сетевыми баталиями в Q3 так хочется порой поиграть во что-то маленькое и симпатичное, непритязательное и увлекательное. И тогда shareware-игры — к нашим услугам.
связано с нежеланием российского пользователя платить за игровые продукты. Ведь уровень дохода среднего российского обывателя вполне позволяет заплатить за понравившуюся игру 50-100 рублей. Именно столько стоят наши игры на российском рынке.
По моему мнению, проблема состоит в отсутствии соответствующих технологий. Ведь, если разобраться, что нужно зарубежному пользователю для того, чтобы купить игру? Все банально просто: не отходя от компьютера, пользователь заходит в Интернет, набирает номер кредитной карточки и через 1-2 часа становится обладателем полной версии понравившейся игры. В том случае, если игру захотел купить ребенок, то мама или папа, придя домой на обед, без проблем покупают ему игру, совершив те же несложные манипуляции.
Для российского обывателя все обстоит намного сложнее, ведь далеко не у всех есть кредитные карточки, мало у кого есть дома или на работе доступ в Интернет. Вследствие чего кто-то скачавший shareware-версию игры записывает ее на дискеты и передает своим знакомым. Даже если пользователь решил купить игру, ему нужно заполнить утомительную форму со своими реквизитами, получить текст квитанции Сбербанка, одеться, пойти в Сбербанк, отстоять очередь, заплатить по квитанции и, в лучшем случае, через 1-2 дня получить регистрационный ключ.
Несмотря на это, я думаю, что Россия не может долго оставаться в стороне от современных технологий, и в ближайшем будущем мы сможем без проблем приобретать понравившиеся игры.
Итак, реальные причины непопулярности shareware-игр в России кроются в малодоступности самих игр, зачастую сильно завышенной их стоимости и сложности процедуры регистрации. Причем именно высокая стоимость является главным фактором. За те же деньги можно купить несколько пиратских дисков с играми с качеством на порядок выше, чем у shareware. Поэтому у русского пользователя пока еще нет стимула к покупке shareware-игр. Изменить ситуацию может только правильная ценовая политика.
[И]: Я думаю, рано или поздно, но и в России будет возможна такая же легкая процедура покупки. Уровень технологий постоянно растет, а в России люди быстро принимают удобные новинки. Для нас еще все впереди. А кстати, сколько в среднем стоят ваши игры?
[М]: Конечно, цены на наши игры формируются из учета состояния экономики и уровня жизни стран, в которых покупаются игры. А, как вы понимаете, уровень жизни на Западе и в России различен. Вследствие чего наши игры на зарубежном рынке стоят в среднем от 10 до 20 долларов, на российском рынке цена игры варьируется от 50 до 100 рублей.
Вот это и называется правильной ценовой политикой. Помните, несколько крупных издателей игр в России несколько лет назад начали акцию по выпуску лицензионных jewel-версий популярных игр, по цене сравнимых с пиратскими дисками. «Алавар» поступает таким же образом. В России игры можно продавать только по тем ценам, за которые люди их смогут и захотят купить. Чем скорее это поймут остальные издатели, тем быстрее легальные shareware-игры распространятся в России.
Итак, в shareware-игры в России играют практически все геймеры, однако редко кому приходит в голову зарегистрироваться. С другой стороны, западные издатели смотрят на российский рынок с опаской. И пример «Алавара» в такой ситуации показателен. Будем надеяться, что shareware-игры в скором времени займут в наших сердцах и на наших винчестерах свое заслуженное место.
Источник: www.igromania.ru