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
Как ограничить время работы программы
От: 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: Как ограничить время работы программы
От: 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...
Пока на собственное сообщение не было ответов, его можно удалить.