Welcome to eComStation.RU site!

Select your language: Russian English Deutch Spanish Italian Portuguese Czech Polish French

Frequently asked questions and answers:

eComStation.RU

ru · en · de · es · it · pt · cz · pl · fr
eComStation - это совершенно другая операционная система для PC (IBM OS/2 Warp)
Программы, новости, статьи, поддержка пользователей, оборудование, вопросы и ответы.
 
      Что такое OS/2?НовостиУстановкаОбновлениеПрименениеБудущееСообществоКупить    
(Карта сайта)

 
 
Списки протестированного OS/2 оборудования
Как получить драйверы OS/2 бесплатно

 
Обновление

 
Программы

 
(Санкт-Петербург)

 
Преимущества (1)

 
Разработчику (1)

 
(Пайпы программ)

 
Компании: (1)

 
История (1):

 
(Бонусы)

 
Советы:

 
(Барьеры и решения)

 
Технологии: (1)

 
(Применение в науке, лаборатории, ..)

 

 
Готовые решения:

 
Новая eComStation:

 
Будущее: (1)

 
(Ссылки на другие сайты)

 
(Картинка дня)

 
Артефакты OS/2

 
Гаджеты

 

Подготовка Shareware-программы: защита программы


TITLE: Подготовка Shareware-программы: защита программы

DATE: 2011-05-17 19:36:33

AUTHOR: eCo Software

В этой статье мы обсуждаем как защитить программу от взлома?

Полностью защитить программу невозможно. Любой подонок, даже пьяный, может найти проверки с помощью отладчика.

1. Способы защиты

Какие способы защиты программ существуют?

Проверка рег.ключа (текстовый файл или бинарная форма)
  • + Такой метод используется чаще всего
  • + Удобно передать ключ по e-mail, полностью электронная доставка
Проверка через интернет
  • - Подходит только для приложений, работающих с интернет. Не подойдет для сервисных дисковых утилит и т.п.
Проверка USB ключа
  • Для защиты дорогих программных продуктов. Если программа стоит 500$ - 1000$, то имеет смысл защитить ключом, который стоит 30$.. 50 $

Какой метод защиты выбрать?

[ДОБАВИТЬ]

1.3. Проверка USB ключа

(Тезисы от Joseph Shrago)

К вопросу о защите программного обеспечения аппаратными средствами.

Первое, что необходимо заметить - любую защиту можно вскрыть. Вопрос стоимости. Как обошли защиту 1С с ключом HASP все знают. Senselock SDK Существенно труднее обойти защиту, предлагаемую Senselock, которые позволяют зашить часть кода в ключ и исполнять его там-же. Беда этой защиты в том, что не всегда можно придумать какой код можно перенести в ключ. Не в каждой задаче есть необходимость в хитрых никому не известных преобразованиях, а некоторые задачи требуют другой скорости счета, нежели способен такой ключ защиты.

В виду вышеизложенного защита программного обеспечения от копирования по прежнему основана на решении трех задач:

  • привязка программы к аппаратному ключу защиты
  • защита самого ключа от копирования
  • защита кода защиты от отладчика

Сам вопрос критичен только в рамках использования OS/2 - eCS, поскольку именно для этой системы драйвера HASP есть только для LPT порта, который постепенно уходит в небытие.

Встает вопрос - чем заменить, причем своими силами. Предлагаю следующий подход к решению этой задачи, повторюсь, не 100%-ому по определению.

Итак, поэтапно:

  • привязка программы к аппаратному ключу защиты Каждая флешка имеет номер производителя, продукта, релиза и серийный номер, которые предоставляют уникальные характеристики устройства. Драйвер USBECD облегчает получение этой информации с помощью стандартного API ввода-вывода, но вовсе не обязателен. Таким образом можно привязать программу к конкретному устройству.
  • защита самого ключа от копирования Естественно, при описанной выше привязке по дескриптору флешки, флешка защищена от копирования
  • защита кода защиты от отладчика

Два первых пункта примитивны и примитивно обходятся. Необходимо усложнить ситуацию. В этом нам поспособствуют средства кодирования информации. Зашифруем необходимую программе информацию ключом основанном на дескрипторе флешки и запишем ее на эту флешку. Получим жесткую привязку данных, программы и флешки. Уже стало сложнее. Теперь надо вывести использование защиты из под отладчика или максимально затруднить его применение - например, скрытием кода декодирования данных.

Перенесем его в другой процесс, который как-нибудь будет запускаться отдельно от защищаемой программы. Желательно незаметно. Например, в виде объекта WPS или еще как-то. Обмен с таким процессом надо вести через расшареную именованную память, имя которой вычисляется по дескриптору флешки.

Этот обмен можно нагрузить следующими функциями:

  • постоянный контроль наличия флешки
  • декодирование зашифрованных на флешке данных
  • обмен этими данными с защищаемой программой
  • контроль динамики процесса обмена для воспрепятствия отладке кода.

Чтобы обойти такую защиту необходимо будет найти и взять под отладчик процесс, который создает кусок именованной памяти, а это не просто, поскольку его код не содержит этого имени. Брать под отладку весь WPS, в случае использования его для запуска подобного процесса, затруднительно.

Интересно было бы рассмотреть возможность запуска задачи зашифрованной на флешке, причем прямо из памяти, куда ее скопировали и расшифровали, а может быть, и в зашифрованном виде.

Ну и, естественно, контроль использования аппарата защиты должен вестись несколькими нитками, которые сами используют проверку наличия защиты, но и контролируют работу других таких ниток, не давая возможности их последовательного отключения.

2. Запасные колёса

На случай, если программа взломана, разработчик может активировать следующий уровень защиты, выпустить обновление своей программы, которое опять отсекает подделанные ключи.

[ДОБАВИТЬ]

3. Разные варианты защиты программы

Формат рег.ключа Какой формат выбрать?
  • может быть в текстовом виде (легко отправлять по email, не будет поврежден)
  • может быть в бинарном виде (усложняет взлом)
Способ активация программы Несколько вариантов активации:
  • Пользователь кладет ключ в каталог программы или другой определенный каталог. При следующем старте программа работает без ограничений.
  • Пользователь вызывает функцию активации, вводит/загружает ключ, активатор снимает shareware-ограничения (снимает ограничения; прячет ключ в определенное место)
Full версия не публикуется Demo версия доступна всем, full версия - только покупателям. Пример: PMView, .. - full версия доступна только зарег.юзерам
  • + взломщику надо сначала раздобыть full версию,
  • - честному пользователю приходится ставить программу второй раз
Привязка к компьютеру Привязаться к компьютеру покупателя. Программа определяет модель мат.платы, винчестера, .. и формирует дамп с этой информацией. Пользователь пересылает этот блок информации разработчику. Разработчик выдает рег.ключ, вычисленный их этого дампа.
  • + пользователь купит столько копий программы, сколько ему на самом деле нужно (а не 1 копию на 10 компьютеров)
  • - усложняет процедуру регистрации

Другие советы

  • Дополнительно имеет смысл шифровать тексты, коды различными методами шифрования, чтобы усложнить взлом.

Дополнительная информация:

  • Авторы: eCo Software, Joseph Shrago


Другие статьи / More articles:

Попробуй программу:

Безопасная работа в eComStation: статьи, инструменты и советы

Комментарии:

Прокомментируйте эту статью (напоминаем, автор работал над текстом несколько недель, уважайте мнение других).


Ваше имя:

Ваш E-Mail:

CODE:
......

  

Ваш комментарий:


Писать программы для eComStation - это выгодно: a) система имеет более компактный API, который хорошо продуман и эффективен, b) Рынок не такой бесконечный, как у Windows. Все пользователи eComStation узнают про ваш продукт, c) Один разработчик значительно влияет на всю ОС.

Статьи

Операционная система
Программное обеспечение
Оборудование
Для разработчика
Разное
Колонка редактора


Готовая eComStation на SSD диске

 





Последний активный опрос: Какая высота барьера RPM?

Самая комментируемая новость за месяц: OS/2 Firefox откат к старому

IBM OS/2 Warp

 
Обучение новичков

Списки протестированного OS/2 оборудования

 
Статьи


   
  Почему eComStation?
Возможности
Особенности
Применение
Ролики и скриншоты
   eComStation для
для бизнесменов
для студентов и инженеров
для продавцов компьютеров
сообщество пользователей
   Разработчик
Распространить программу
Описание API, библиотеки
Начать новый проект
Конкурсы
   Программы
Он-лайн каталог
Выбрать через eCo Market
   Служба поддержки
Отправить вопрос
Купить eComStation
Вопросы и ответы
Обучение новичков
 
 
© 2001 - 2014 eCo Software, All rights reserved
eComStation is a registered trademark of Serenity Systems International
OS/2 Warp is a registered trademark of IBM Corporation
 

 

 
Картинка дня: