Демо версия программы
У меня как и у многих других форумчан класический вопрос.
Я написал програмку HelloWorld на .NET е. Хочу сделать демо версию с количеством запусков допустим 30-40 раз (то есть клиент не смог запускать программу больше 30 раз. так как это всего лиш демо версия)
Где разумнее всего будет хранить количество запусков программы. Чтобы было как можно надежнее ? Я знаю что найти место где храниться это переменное и взломать программу все равно будет не сложно для взломщиков, но все таки защита нацелена на рядовых юзверов а не на хакеров.
Поиск в гугле по этому вопросу не привел ни к одному результату по теме. Надеюсь на вашу помощь, советов и пинков в нужном направлении.
ну а если по делу то просто пиши/читай файл и не парься, в текущий каталог проги или что то типа %USERPROFILE%\AppData\Local\Temp или %SystemRoot%\TEMP (будь внимателен при выборе каталога если твоя прога будет запущена не под админом а под ограниченной учеткой то у нее может не быть прав доступа в каталогу)
Цитата: 50bites
:) поделись знанием, что можно такого написать (если сил хватило только "hello world" откомпилить) что так срочно надо защищать количеством запусков??
HelloWorld это так к примеру я сказал.
А если забить на ерунду с количеством запусков и просто ограничить функционал в программе?
кроме того не рекомендую сразу при запуске приложения проверять этот счетчик, дабы сложнее было запалить regmon\filemon'ом. записать в код несколько проверок, одна из них например в TLS Callback, второая при запуске, третья по таймеру или по User Mode APC и т.д. при этом при проверке также не предпринимать никаких действий сразу а откладывать эти данные на потом, допустим радомно через N-секудн после запуска завершать приложение с сообщением и чтобы за вывод окна о окончании работы программы отвечало несколько ветвей код дублирующих друг друга (лучше даже сами формы продублировать) и каждый раз исполнялся разный код чтоб защитить себя от патча(усложнить эту работу).
Только особо не увлекайтесь с усложнением: защита вряд ли должна стоить дороже программы. Ну и вообще, где анализ угроз, оценка рисков? Как вы вообще защиту проектируете, не зная этих величин?
Спасибо
Что касается защиты:
Главная задача - замаскировать часть кода, отвечающую за чтение и сравнение значения счётчика.
Как это сделано у меня можете подглядеть на моём блоге о shareware в Рунете.
Для уменьшения читаемости исх. кода после декомпиляции, используйте обфускаторы.
bagie2, И после этих всех навесов Hello, World будет весить 500+ Кб.;)