开发者

C# demo apllication (winform) - expire after specific time

开发者 https://www.devze.com 2023-03-03 05:16 出处:网络
I\'m developing an applicatio开发者_JAVA百科n and I need to make a demo version of it that will expire in lets say 30 days.

I'm developing an applicatio开发者_JAVA百科n and I need to make a demo version of it that will expire in lets say 30 days. My idea for now is to store the current time when the application is first started in a simple txt file stored in the projects resource (so it doesen't have to be written on the hard disk or the registry), and every time the program is started check if 30 days have passed. But, what if the user resets the time to an earlyer state?

Then my app would still start becouse now the "current date" can be 1 day after the "first start"..

Is there any way I can get some info along with the first date (or, insted of) that would assure that specific time that the application is first started?

Thank you for your time.


One of the option is to check the date time from some external server and not from local system. But this is also possible to crack as the user can put a proxy in between which will act as the external server to your app and this proxy can send any time the user want. In case you want the solution for novice users, external server approach is fine, but any smart user can still crack the application. Remember, any code that runs on a client machine can be cracked, you just need to flip the correct bit in the application code :)


I have a simple check in the code of one of my programs when in beta. It pretty much does what you say. In the initial code is a hard coded date. The logic then just tests to see if the current date is earlier than the hard coded date. Pretty primitive and it relies on the users system date. However once it is past the program will not run unless the system date is changed. As I mention I use this for betas not for my production programs that have an evaluation period. For that I use Infralution License Tracker. This is payware but it does allow the setting of evaluation periods and also the actual licensing of the code.


Interesting question - how about encoding the initial datetime somehow - base64 or even encryption of somekind), then also storing the datetime each time your application is run.

That way you can detect inconsistencies by checking each datetime and if there's funny business going on (eg. todays date is older than the last date) you can shut the user out.

0

精彩评论

暂无评论...
验证码 换一张
取 消