Создание демо-версии

Тема в разделе "Delphi - Система", создана пользователем McVictor, 16 май 2006.

Статус темы:
Закрыта.
  1. McVictor

    McVictor Гость

    Уважаемые профессионалы!
    Необходима ваша помощь в решении следующей нетипичной задачи:
    Есть программный продукт.
    Необходимо создать демо-версию, которая будет работать 30 дней.
    Среда разработки Delphi, впрочем, это не так важно. Главное понять принцип.

    Жду ваших профессиональных советов.
     
  2. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    Самое простое и надежное - купить готовое решение-обертку, которое обойдется тебе в 70-200$, например - armadillo, Hardkey, asprotect.
    Посмотри в топике "Shareware и бизнес" - там это обсуждалось.
     
  3. Barmutik

    Barmutik Гость

    Самому можно создать быстро только подобие надёжной демо-версии.. лучше использовать как посоветовали Выше готовые продукты...
     
  4. DZX

    DZX Гость

    А еще лучше не 30 дней, а 100% демо, что бы и ломать было нечего. Продумать где чево подрезать важного и вперед.
     
  5. Vagor.ini

    Vagor.ini Гость

    Посмотри на этом сайте http://www.texnik.ru/ программу ORiEN

    О программе:

    ORiEN - это защита для исполняемых файлов операционной системы
    Microsoft Windows (защита работоспособна во всех версиях Windows).
    В мире сейчас существует большое количество защит, но в данной
    программе Вы найдете все лучшее от других защит, плюс уникальные
    дополнительные возможности и все это за ту цену, на сколько Вы
    цените эту программу! Сколько Вам не жалко - шлете автору и получаете
    полнофункциональную программу.
    Демонстрационное ограничение состоит в том, что защищенное приложение
    теряет иконку в Проводнике, хотя она доступна (используется ошибка в самом
    Проводнике Windows).
    Более детальное описание программы Вы найдете в документации.
     
  6. zubr

    zubr Гость

    А с другой стороны, создание собственной защиты, прибавляет опыт и квалификацию программиста, имхо.
    Простой принцип защиты по времени, естественно легко ломающийся:
    1. Запоминаем в реестре или в файле дату установки программы.
    2. При каждом запуске программы, запоминаем текущую дату, сравниваем предыдущую текущую дату и дату запуска программы (если дата запуска программы меньше предыдущей текущей, значит юзер отмотал время), сравниваем дату установки и текущую дату.
    Для более надежной защиты дату помещаем в реестр или в файл в зашифрованном виде, более сложный вариант - прописываем дату в сам экзешник. Проверку условия делаем во многих местах при работе программы, причем желательно не в основном потоке программы, а в нескольких одновременно (потоков 5). Ставим защиту от отладки.
     
  7. Barmutik

    Barmutik Гость

    Для: zubr

    Этот вариант отлавливается и ломается даже слабым хакером на 10-20 минут ... банальным сканером обращений к реестру...

    Только если для расширения кругозора ...
     
  8. zubr

    zubr Гость

    Ну для усложнения работы хакера в реестр загоняется не один ключ, а много + зашифрованные данные, поди разберись из 100 значений загоняемых в реестр, причем в течение работы программы (не обязательно дату запоминать при запуске программы, можно при выполнении каких то действий) представляющих из себя абракадабру - тут без отладчика и дизассемблера не обойдешься, а это все же требует мало-мальской квалификации хакера.

    Да защита по времени любая легко ломается, будь она на флешке или тот же asprotect.
     
  9. Barmutik

    Barmutik Гость

    Это да :) Тут конечно .. я имел ввиду банальный вариант с одним клюом...
     
  10. orcommander

    orcommander Гость

    Можно сделать, чтобы прога в твоей демо-версии сама себя киляла, допустим через 5 минут после запуска (по таймеру). Вырезать таймер из кода будет сложнее, чем найти ключ в реестре.... мне кажется :)
     
  11. orcommander

    orcommander Гость

    Кстати простейший вариант будет выглядет примерно так:

    В хедере:

    DWORD start;

    При создании формы или там еще где... :
    start=GetTickCount();

    И в любом цикле по которому прога часто крутится:

    if (GetTickCount()>start+сколько_хочешь_времени_чтобы_работала_прога_в_милисекундах) exit(0);

    Кстати простейший вариант будет выглядет примерно так:

    В хедере:

    DWORD start;

    При создании формы или там еще где... :
    start=GetTickCount();

    И в любом цикле по которому прога часто крутится:

    if (GetTickCount()>start+сколько_хочешь_времени_чтобы_работала_прога_в_милисекундах) exit(0);
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей