|
4 / 4 / 1
Регистрация: 26.11.2009
Сообщений: 156
|
|
Ограничение количества запусков программы15.02.2017, 13:23. Показов 8916. Ответов 55
Метки нет (Все метки)
Здравствуйте!
Есть программа, количество запусков которой нужно ограничить. Допустим 5 раз и больше программа не запускается вообще. На машине нет интернета. почитал темы Как сделать "демо"-версию программы? и Демо-версия программы. Получил два этапа проверки: записываю количество запусков в реестр и в параметр в ресурсах проекта. На сколько такой способ заслуживает право на жизнь и можно ли каким-то лучшим способом ограничить работу программы? Спасибо! Добавлено через 3 часа 2 минуты А можно куда-нибудь прикрутить хеш-функцию?
0
|
|
| 15.02.2017, 13:23 | |
|
Ответы с готовыми решениями:
55
Как запомнить админские права для дальнейших запусков программы Ограничение количества нажатий на кнопку Ограничение количества раз записи файла |
|
14099 / 9316 / 1349
Регистрация: 21.01.2016
Сообщений: 34,991
|
|
| 15.02.2017, 13:33 | |
|
Stick, программы на C# очень легко декомпилируются. Подобные виды защиты бесполезны для них.
0
|
|
|
4 / 4 / 1
Регистрация: 26.11.2009
Сообщений: 156
|
|
| 15.02.2017, 14:48 [ТС] | |
|
Usaga, читал про обфускаторы. Похоже они тоже добра не принесут?
Предположим, что с программой будет работать пользователь разбирающийся с regedit и умеющий пользоваться блокнотом. Что можно использовать против таких пользователей?
0
|
|
|
33 / 33 / 18
Регистрация: 16.09.2015
Сообщений: 246
|
||
| 15.02.2017, 15:22 | ||
|
0
|
||
|
14099 / 9316 / 1349
Регистрация: 21.01.2016
Сообщений: 34,991
|
|
| 15.02.2017, 16:18 | |
|
Stick, ну, от нормальных пользователей вполне можно и реестром защититься. Главное хранимые там данные хоть как-то зашифровать, чтобы совсем уж не палить контору. Это защита детская, но в простой ситуации проканает.
Обфускаторы "шифруют" тело EXE-шника так, чтобы по нему нельзя было восстановить исходники. Насколько я понял по отзывам людей, нормально обфусцируют только платные, халявные делают это крайне плохо.
0
|
|
|
141 / 138 / 22
Регистрация: 16.02.2012
Сообщений: 453
|
|
| 15.02.2017, 17:09 | |
|
Храни кол-во запусков в настройках (Settings.Default.MyParam), значение шифруй при записи и расшифровывай при чтении (плюсом будет симметричный ключ, значения параметров ключа бери из параметров компьютера). Защити программу протектором. В 99% это будет весьма сильная защита.
0
|
|
|
14099 / 9316 / 1349
Регистрация: 21.01.2016
Сообщений: 34,991
|
|
| 15.02.2017, 17:23 | |
|
SharpDeveloper, ничем эта "защита" не лучше записи в реестр. Даже хуже: кто помешает просто скопировать файл (или вообще всю папку с приложением), а потом назад его подменять?
0
|
|
|
141 / 138 / 22
Регистрация: 16.02.2012
Сообщений: 453
|
||
| 15.02.2017, 17:25 | ||
|
0
|
||
|
14099 / 9316 / 1349
Регистрация: 21.01.2016
Сообщений: 34,991
|
|
| 15.02.2017, 17:26 | |
|
Stick, мне кажется, что если речь идёт о демке, то лучшим вариантом будет давать пользователю урезанный вариант программы. Ну и хоть каким-то протектором код защитить.
Если протектор и можно "обойти", то "урезанность" будет сложновато ![]() Добавлено через 48 секунд SharpDeveloper, и? Что помешает не копаться в файле, а просто назад оригинальную версию скопировать? И плевать как оно зашифровано.
0
|
|
|
141 / 138 / 22
Регистрация: 16.02.2012
Сообщений: 453
|
|
| 15.02.2017, 17:31 | |
|
А чтобы копировать файл настроек программы, надо знать как работает защита (от этого знания помогает как раз протектор) и что копировать (этот файл хранится глубоко в недрах папок). Что обычному домашнему пользователю врят-ли будет доступно.
0
|
|
|
14099 / 9316 / 1349
Регистрация: 21.01.2016
Сообщений: 34,991
|
|
| 15.02.2017, 17:38 | |
|
SharpDeveloper, чтобы скопировать файл, нужно знать только где он лежит и не более
Тебя сильно что-то станавливает от копирования любых твоих файлов?))Тут можно только сильно запутать пользователя, сныкав файл куда-нибудь очень далеко и на долго. Но реестр в этом плане намного лучше - там уже помойка адская, да и сломать что-нибудь можно. К тому же, народа знающего как лазить по реестру намного меньше умеющих шариться по дискам) Добавлено через 3 минуты Хотя мне кажется, что файл, что реестр - это всё десткий садик. Любой из этих вариантов либо человека наглухо остановит, либо рассмешит
0
|
|
|
141 / 138 / 22
Регистрация: 16.02.2012
Сообщений: 453
|
|
| 15.02.2017, 17:41 | |
|
Да тут видимо защита от домашнего пользователя, продвинутый возьмет filemon и regmon и плакали что файлы, что реестры. Local settings тоже помойка, попробуй найди там этот файл).
Лучше тогда просто писать в Temp, причем название файла генерировать уникальное для этого компьютера, и пусть копаются в еще большей помойке))
0
|
|
|
14099 / 9316 / 1349
Регистрация: 21.01.2016
Сообщений: 34,991
|
|
| 15.02.2017, 17:44 | |
|
SharpDeveloper, не, в temp опасно - там какой-нибудь Disk Cleaner может побывать. Тогда уж в профиль пользователя писать, вместе с регулярными настройками и не париться.
0
|
|
|
4 / 4 / 1
Регистрация: 26.11.2009
Сообщений: 156
|
|
| 15.02.2017, 20:16 [ТС] | |
|
Usaga, как раз таки уже ограничил функционал по максимому: беру данные, обрабатываю, вывожу на экран. Суть-то в том, чтобы показать правильность вычислений
. SharpDeveloper, как брать параметры компьютера научили тут: Уникальный идентификатор компьютера. А вот как зашифровать полученную последовательность? aurisdies, вы предложили использовать простую замену. Мне трудно представить как получить результирующую строку из "данные компьютера" + "счётчик запуска", например в такой форме: 1BC29B36F623BA82AAF6724FD3B16718
0
|
|
|
|
|
| 15.02.2017, 20:24 | |
|
Stick, возможно, такой способ вам поможет. Правда, он рассчитан не на количество запусков, а на дату, но тоже вполне ничего.
1. Создаем приложение, подписываем его. 2. В приложение встраиваем защиту, основанную на основе сертификата X509, для бОльшей уверенности можно проверку раскидать по всему коду. Защита должна быть реализована так, чтобы без файла сертификата (валидного) программа отказывалась работать. 3. Создаем сертификат, в котором и прописываем даты его действия. При запуске программа проверяем его валидность, если он не валидный - вылет. Конечно, и это можно обойти (сменой даты на компьютере), но если накрыть все это сверху еще и обфускатором - думаю, от не продвинутых поможет.
1
|
|
|
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
|
|
| 15.02.2017, 22:55 | |
|
1. В демо-версии сделать ограниченный функционал.
2. Обычно даётся не какое-то определённое кол-во запусков, а период времени. Тогда можно записать время старта в какой нибудь DAT файл и при каждом запуске сверять его с текущим временем. Для надёжности можно защитить шифрованием (думаю, это излишне) и спрятать этот файл куда нибудь от пользователя. 3. Если вы прям так по кол-ву запусков хотите, то нужно в такой файл записывать число запусков и шифровать всё.
0
|
|
|
4 / 4 / 1
Регистрация: 26.11.2009
Сообщений: 156
|
|
| 15.02.2017, 23:12 [ТС] | |
|
insite2012, идея хорошая, только X509 требует наличия сервера выдачи сертификатов, а его нет
.dm stark, именно по количеству запусков . Хотя мне не ясно как шифровать.
0
|
|
|
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
|
|
| 15.02.2017, 23:24 | |
|
Всмысле что вы не знаете как реализовать, скажем, AES шифрование в C#?
0
|
|
|
4 / 4 / 1
Регистрация: 26.11.2009
Сообщений: 156
|
|
| 15.02.2017, 23:53 [ТС] | |
|
dm stark, увы не знаю
. В Вузе только теория была...
0
|
|
|
141 / 138 / 22
Регистрация: 16.02.2012
Сообщений: 453
|
|
| 16.02.2017, 00:22 | |
|
0
|
|
| 16.02.2017, 00:22 | |
|
Помогаю со студенческими работами здесь
20
Подсчет количества запусков приложений Ограничение количества потоков Добавить правило на ограничение количества символов в никах Ограничение количества обрабатываемых чисел в одномерном массиве Ограничение количества символов при записи текста в файл Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|