![]() |
*Юный техник* | Защита программы a-la shareware
Всем привет !
Подскажите люди, как сделать защиту своей программы более-менее надёжной. Нужно чтобы при запуске она проверяла дату и если она позже заданной, то EXE-файл должен выдавать заданное сообщение и закрываться. Переустановка программы заново не должна ничего давать, т.е. я так понимаю информация о дате должна храниться где-то в реестре. Лучше даже удалять все файлы программы с диска, включая и EXE-шник, но как это сделать, не знаю. Помогите информацией. Только пишите пожалуйста поподробнее, а то я в Делфи не большой мастак. |
AL CAPONE
Знаете, написание шароварных программ - это целая огромная отрасль. Не зная уровня Вашей подготовки, сложно что-либо советовать. Я только хочу предупредить, что есть программы, специализирующиеся как раз на создании "снимков реестра" для быстрого отката/переустановки шароварной программы. Я могу Вам только одно посоветовать, исходя из своего опыта. Вы же не лидер программной индустрии, так? Вам же не надо обслуживать тысячи рвущихся к Вашему серверу юзеров, так? Поэтому изначально при создании "превью"-версии проги сделайте так, чтобы там НЕ БЫЛО части кода, доступной в обычной версии. Никаких ключей активации и т.д. - только передача "полной версии" отдельно от "предварительной". И тогда - делаете программу, которая при первм запуске запивывает в собственный файл какую-нибудь струхню+дату. По истечении определённого срока (15 дней) программа выходит из строя. Или пусть шароварная программа работает только 30 минут, потом падает. И НИКАКИХ дополнительных возможностей из полной версии. Тогда волей-неволей кому-то понадобится и полная версия. Я не очень большой специалист, меня могут дополнить или даже чего похуже, но я вижу всё себе именно так. Но ВНИМАНИЕ! Это только для шароварных программ. Не для защиты ПО от копирования, ибо там очень даже отличающаяся ситуация. |
Можно придумать и насоветовать много чего. Например, создается dll, без которой программа не работает, в которой ведется счет запусков/дней/минут/... Как вариант защиты, можно использовать предложение hasherfroga - сделать ДВЕ разные версии программы.
|
AL CAPONE
Любая защита программы - это защита от честных людей. Хранение даты установки в реестре ничего не даст. Есть куча программ-сканилок изменений в реестре при инсталляции софта. Пример - RegOrganizer. Отслеживается также любое изменение в файловой системе. А дату установки, или счётчик запусков надо где-то хранить... Вариант защиты - прописать значение в реестре, или в к-н файле только через некоторое количество запусков программы, а не сразу. Но самое слабое место - ввод серийного номера или ключа. От Softice спасения нет :( Так что hasherfrog дело советует. Мой вариант - имитация защиты. Вот хакер помучается.... :) |
С другой стороны, запись данных в файл и дальнейший выход из строя не спасает от простой переустановки программы :) Вариант с dll тоже не подходит, т.к. есть программы, отслеживающие зависимость программы от различных файлов.
Цитата:
|
>> другой стороны, запись данных в файл и дальнейший выход из строя не спасает от простой переустановки
Нет, тут вот какой момент: Без записи в саму себя не работает какая-нибудь процедура, например (это типа модификация тела программы но не в процессе выполнения, а заранее) - и программа вообще не работает, если ей не дали себя поменять. Т.е. программа пишет не в файл, а в себя, в исполняемый свой файл. причём один раз. Что же касается переустановки - это неприятная процедура для пользователя, серьёзно. Даже всякие паузы и т.д. - задалбывают. А если ещё и вообще убрать (а не отключить) часть функциональности... Взлом за три дня и т.д. Ничего не хочу сказать про Вашего знакомого... Я с помощью интернета, просто пошукав по сайтам с креками, за один день найду лекарство :] Вы перед началом эксперимента не забыли у знакомого интернет отключить? ;] |
AL CAPONE
Есть парочка интересных статей специально для "Дельфяков": 1. Защита программ от взлома. В ней даётся ряд советов по написанию подобной защиты. 2. А эта статья - по сути пример неправильного построения защиты программы. Почему неправильного? После прочтения первой статьи таких вопросов, надеюсь, не будет (в программе достаточно в нужном месте заменить jz на jmp инструкцию и вся защита игнорируется). |
Всем привет !
Shareware-программы я продавать не собираюсь. Таким способом я хочу проучить своего "любимого" курсовика, подсунув ему дипломный проект с таким вот сюрпризом (кстати по его милости я лишился повышенных стипендий в 3-х семестрах). Хакер из него никакой, так что до взлома дело тут не дойдёт, а программу он переустановить всё-таки попытается. Так что кто знает, как мне конкретно помочь на Делфи-7, пишите, только плиз поподробнее, желательно с каким-нибудь примером или алгоритмом. Нужно : 1) после определённой даты выдать сообщение типа "Иди-ка ты НАХ"; 2) закрыть программу и стереть все её файлы, желательно даже с EXE-шником; 3) переустановка ничего не должна давать; 4) можно повеселиться типа формата HHD или ещё чего-нибудь (новаторские мысли приветствуются). Помогите люди, как мне его проучить !!! Решение проблемы с помощью Автомата Томпсона просьба больше не предлагать ;))) |
AL CAPONE
А ты вазелином запасся, если курсовик решит отомстить? |
Время: 21:22. |
Время: 21:22.
© OSzone.net 2001-