Как ограничить время работы программы
От: Uglev Россия  
Дата: 24.10.11 12:05
Оценка:
Здравствуйте.

Задался вопросом ограничения время работы своей программы. В принципе задача простая, если не брать в расчет попытки обхода этого ограничения.
Подскажите, как реализовать ограничение по времени работы, чтобы нельзя было тупо открутить время назад. Или воспользоваться программой типа Trial Reset
для удаления записей о начальном времени работы.
ограничение времени работы программы
Re: Как ограничить время работы программы
От: FastS  
Дата: 25.10.11 07:54
Оценка:
U>Задался вопросом ограничения время работы своей программы. В принципе задача простая, если не брать в расчет попытки обхода этого ограничения.
U>Подскажите, как реализовать ограничение по времени работы, чтобы нельзя было тупо открутить время назад. Или воспользоваться программой типа Trial Reset
U>для удаления записей о начальном времени работы.

Для реального решения подобных вопросов нужна привязка к какой-либо точке доверия. Это может быть или сервер в интернете или аппаратны ключ.
Если программа работает с интернетом, то лучше будет привязаться к времени какого-нибудь сервера. Да и хранить данные о дате первого старта тоже можно на сервере. А если нет, даже не знаю, что посоветовать.
Re: Как ограничить время работы программы
От: sidorov18 США  
Дата: 25.10.11 08:57
Оценка:
Здравствуйте, Uglev, Вы писали:

U>Здравствуйте.


U>Задался вопросом ограничения время работы своей программы. В принципе задача простая, если не брать в расчет попытки обхода этого ограничения.

U>Подскажите, как реализовать ограничение по времени работы, чтобы нельзя было тупо открутить время назад. Или воспользоваться программой типа Trial Reset
U>для удаления записей о начальном времени работы.

Ну если без http сервера, то в общем случае задача сводится к тому, как поглубже запрятать запись о первом запуске.
Интересно, в сам exe пишут? Только переустановкой решается.
А если в файл/реестр — можно не запускатся если его удалили

Можно еще запихнуть в нелогичную папку запись(ну там в system32 или в реестре в Microsoft\Windows\CurrentVersion и т.п.). Но это уже кощунство..
Re[2]: Как ограничить время работы программы
От: boot  
Дата: 25.10.11 09:15
Оценка:
Здравствуйте, sidorov18, Вы писали:

S>Здравствуйте, Uglev, Вы писали:


S>А если в файл/реестр — можно не запускатся если его удалили

Точно, и подписать цифровой подписью. Пожалуй, лучший вариант.
Жизнеспособность прямо пропорциональна простоте!
Re[3]: Как ограничить время работы программы
От: sidorov18 США  
Дата: 25.10.11 10:02
Оценка:
Здравствуйте, boot, Вы писали:

B>Здравствуйте, sidorov18, Вы писали:


S>>Здравствуйте, Uglev, Вы писали:


S>>А если в файл/реестр — можно не запускатся если его удалили

B>Точно, и подписать цифровой подписью. Пожалуй, лучший вариант.

В таком случает файл даже может быть пустым. Главное — дата его создания. Другой вопрос — подделать эту запись можно в винде или нет?
Re[4]: Как ограничить время работы программы
От: boot  
Дата: 25.10.11 11:15
Оценка:
Здравствуйте, sidorov18, Вы писали:

S>Здравствуйте, boot, Вы писали:


B>>Здравствуйте, sidorov18, Вы писали:


S>>>Здравствуйте, Uglev, Вы писали:


S>>>А если в файл/реестр — можно не запускатся если его удалили

B>>Точно, и подписать цифровой подписью. Пожалуй, лучший вариант.

S>В таком случает файл даже может быть пустым. Главное — дата его создания. Другой вопрос — подделать эту запись можно в винде или нет?


Без ключей сложно подделать. Главное ключи заныкать поглубже в программу, так глубоко, чтобы это стало нецелесообразным. Но, ничего невозможного нет.
Жизнеспособность прямо пропорциональна простоте!
Re[5]: Как ограничить время работы программы
От: sidorov18 США  
Дата: 25.10.11 11:27
Оценка:
S>>>>А если в файл/реестр — можно не запускатся если его удалили
B>>>Точно, и подписать цифровой подписью. Пожалуй, лучший вариант.

S>>В таком случает файл даже может быть пустым. Главное — дата его создания. Другой вопрос — подделать эту запись можно в винде или нет?


B>Без ключей сложно подделать. Главное ключи заныкать поглубже в программу, так глубоко, чтобы это стало нецелесообразным. Но, ничего невозможного нет.


Я имел ввиду дату создания файла..

Вообще файл может быть подписан на сервере. Тогда и ключи не нужно прятать.
Re[6]: Как ограничить время работы программы
От: boot  
Дата: 25.10.11 11:40
Оценка:
Здравствуйте, sidorov18, Вы писали:

S>>>>>А если в файл/реестр — можно не запускатся если его удалили

B>>>>Точно, и подписать цифровой подписью. Пожалуй, лучший вариант.

S>>>В таком случает файл даже может быть пустым. Главное — дата его создания. Другой вопрос — подделать эту запись можно в винде или нет?


B>>Без ключей сложно подделать. Главное ключи заныкать поглубже в программу, так глубоко, чтобы это стало нецелесообразным. Но, ничего невозможного нет.


S>Я имел ввиду дату создания файла..


S>Вообще файл может быть подписан на сервере. Тогда и ключи не нужно прятать.


С серваком-то конечно проще в плане прятания. Я думал без него надо.
Жизнеспособность прямо пропорциональна простоте!
Re[7]: Как ограничить время работы программы
От: sidorov18 США  
Дата: 25.10.11 12:11
Оценка:
Здравствуйте, boot, Вы писали:

B>Здравствуйте, sidorov18, Вы писали:


S>>>>>>А если в файл/реестр — можно не запускатся если его удалили

B>>>>>Точно, и подписать цифровой подписью. Пожалуй, лучший вариант.

S>>>>В таком случает файл даже может быть пустым. Главное — дата его создания. Другой вопрос — подделать эту запись можно в винде или нет?


B>>>Без ключей сложно подделать. Главное ключи заныкать поглубже в программу, так глубоко, чтобы это стало нецелесообразным. Но, ничего невозможного нет.


S>>Я имел ввиду дату создания файла..


S>>Вообще файл может быть подписан на сервере. Тогда и ключи не нужно прятать.


B>С серваком-то конечно проще в плане прятания. Я думал без него надо.


Я имел ввиду, что приватного ключа не будет на клиенте.
Файл создается программистом и копируется программой при первом запуске. Далее фигурирует только дата создания файла.
Если дату создания файла никак не подменить(ну кроме руткитов и т.п.) простыми способами, то все классно и просто..
Re[8]: Как ограничить время работы программы
От: sidorov18 США  
Дата: 25.10.11 12:26
Оценка:
Здравствуйте, sidorov18, Вы писали:

S>>>Вообще файл может быть подписан на сервере. Тогда и ключи не нужно прятать.


B>>С серваком-то конечно проще в плане прятания. Я думал без него надо.


S>Я имел ввиду, что приватного ключа не будет на клиенте.

S>Файл создается программистом и копируется программой при первом запуске. Далее фигурирует только дата создания файла.
S>Если дату создания файла никак не подменить(ну кроме руткитов и т.п.) простыми способами, то все классно и просто..

Хотя нет. Файл можно скопировать а потом переписать этим файлом старый. так поменяется дата создания.
Все же текст внутри нужен.
Re[9]: Как ограничить время работы программы
От: IgorTrutnev  
Дата: 25.10.11 12:46
Оценка:
S>Хотя нет. Файл можно скопировать а потом переписать этим файлом старый. так поменяется дата создания.
S>Все же текст внутри нужен.

Тут уж скорее нужна временная лицензия, в которой прописывается дата ее получения.
Правда все-таки непонятно, что помешает злоумышленнику в таком случае, просто открутить часы назад.
Re: Как ограничить время работы программы
От: okman Беларусь https://searchinform.ru/
Дата: 25.10.11 12:51
Оценка:
Здравствуйте, Uglev, Вы писали:

U>Здравствуйте.


U>Задался вопросом ограничения время работы своей программы. В принципе задача простая, если не брать в расчет попытки обхода этого ограничения.

U>Подскажите, как реализовать ограничение по времени работы, чтобы нельзя было тупо открутить время назад. Или воспользоваться программой типа Trial Reset
U>для удаления записей о начальном времени работы.

Ответ очевиден — нужно не привязываться к системному времени, а запоминать чистое время работы программы.
Например, в минутах. Когда наберется, скажем, 120 часов (5 суток работы) — сказать: "все, песенка спета,
пришла пора платить денежку".
Re: Как ограничить время работы программы
От: okman Беларусь https://searchinform.ru/
Дата: 25.10.11 12:57
Оценка:
P.S.
От "Trial Reset" спасет только хороший протектор, да понаставленные повсюду в коде проверки,
срабатывающие, как тут один человек хорошо сказал, в зависимости от фазы луны.
Чтобы затруднить задачу крякерам.
А еще частые выпуски новых версий программы, несовместимые со старыми кряками.
Re[9]: Как ограничить время работы программы
От: boot  
Дата: 25.10.11 15:52
Оценка:
Здравствуйте, sidorov18, Вы писали:

S>Здравствуйте, sidorov18, Вы писали:


S>>>>Вообще файл может быть подписан на сервере. Тогда и ключи не нужно прятать.


B>>>С серваком-то конечно проще в плане прятания. Я думал без него надо.


S>>Я имел ввиду, что приватного ключа не будет на клиенте.

S>>Файл создается программистом и копируется программой при первом запуске. Далее фигурирует только дата создания файла.
S>>Если дату создания файла никак не подменить(ну кроме руткитов и т.п.) простыми способами, то все классно и просто..

S>Хотя нет. Файл можно скопировать а потом переписать этим файлом старый. так поменяется дата создания.

S>Все же текст внутри нужен.

Текст или число, хоть что, но программе придется что-то писать, а потом проверять достоверность написанного по цифровой подписи. В защите вся загвоздка всегда в ключах. Сумеете спрятать два ключа, хорошо, тогда ломать будет также сложно как и найти ключ.
Жизнеспособность прямо пропорциональна простоте!
Re[8]: Как ограничить время работы программы
От: Pavel Dvorkin Россия  
Дата: 25.10.11 16:03
Оценка: :)
Здравствуйте, sidorov18, Вы писали:

S>Если дату создания файла никак не подменить(ну кроме руткитов и т.п.) простыми способами, то все классно и просто..



SetFileTime Function

Sets the date and time that the specified file or directory was created, last accessed, or last modified.
With best regards
Pavel Dvorkin
Re: Как ограничить время работы программы
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 25.10.11 16:47
Оценка:
Здравствуйте, Uglev, Вы писали:

U>Задался вопросом ограничения время работы своей программы. В принципе задача простая, если не брать в расчет попытки обхода этого ограничения.

U>Подскажите, как реализовать ограничение по времени работы, чтобы нельзя было тупо открутить время назад. Или воспользоваться программой типа Trial Reset
U>для удаления записей о начальном времени работы.

Насчет отмотки времени на компе назад — не знаю, как защитится, пока не обдумывал.
По поводу ограничения по времени — сделал так — при покупке дается короткий код лицензии, затем его надо активировать и получить код активации. Вот в код активации я и зашиваю дату, и подписываю. А в программе не дата, а дельта (ее тоже наверно можно в код активации записать), вот и сравниваем текущую дату с тем, что в коде активации.
Маньяк Робокряк колесит по городу
Re[2]: Как ограничить время работы программы
От: Uglev Россия  
Дата: 26.10.11 05:14
Оценка:
Marty>По поводу ограничения по времени — сделал так — при покупке дается короткий код лицензии, затем его надо активировать и получить код активации. Вот в код активации я и зашиваю дату, и подписываю. А в программе не дата, а дельта (ее тоже наверно можно в код активации записать), вот и сравниваем текущую дату с тем, что в коде активации.

Да, вот тоже подумываю о таком варианте. Или же ограничивать не по дате, а по времени работы программы, как тут писали.
Или все-таки привязываться к онлайн-серверу какому-то, открутить время на сервере ни у кого не получится. Я так понимаю,
в этом случае только патчем можно взломать. Но думаю, до этого не дойдет
Re[10]: Как ограничить время работы программы
От: sidorov18 США  
Дата: 26.10.11 06:43
Оценка:
Здравствуйте, boot, Вы писали:

S>>Хотя нет. Файл можно скопировать а потом переписать этим файлом старый. так поменяется дата создания.

S>>Все же текст внутри нужен.

B>Текст или число, хоть что, но программе придется что-то писать, а потом проверять достоверность написанного по цифровой подписи. В защите вся загвоздка всегда в ключах. Сумеете спрятать два ключа, хорошо, тогда ломать будет также сложно как и найти ключ.


Ну да. похоже нет способа держать приватный ключ на сервере.
Все должно шифроватся на месте.
Re: Как ограничить время работы программы
От: Аноним  
Дата: 01.11.11 19:38
Оценка:
Здравствуйте, Uglev, Вы писали:

U>Здравствуйте.


U>Задался вопросом ограничения время работы своей программы. В принципе задача простая, если не брать в расчет попытки обхода этого ограничения.

U>Подскажите, как реализовать ограничение по времени работы, чтобы нельзя было тупо открутить время назад. Или воспользоваться программой типа Trial Reset
U>для удаления записей о начальном времени работы.

Логичнее, на мой взгляд, использовать внешние часы, которые злодей поменять не сможет. Здесь либо серевер активации, либо электронные ключи с встроенными часами реального времени (Guardant Time, Senselock,..)
защита программ электронные ключи
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.