Check the date and make the projector halt if it is past the desired date.
Thank you for the reply.
But if the user change the date on the pc, for exemple one year ago, the program works again?
The first thing that you need to realize is that it is impossible to make a security system that can't be beaten. Microsoft has spent millions of dollars and countless hours of work building a anti-piracy system for Windows, and it is generally cracked before the actual release date. And, of course, the only effect that it has is to annoy legitimate users, since the pirates have a security-free installation.
So the question becomes, how much time and effort do you want to put into it?
One fairly quick method (which is still work-around-able) would be to have your projector write out a text file somewhere that the user wouldn't know to look for it. In the text file, write the date. Each time that the projector opens, read that file in. If the date in the file is later than the current system date, then you can assume that the person has set their clock back. So make the projector halt.
Of course, you now run the risk of pissing off a legitimate user who was traveling and went across the international date line... so they reset their clock to the local time and now your program doesn't work.
Alternately, you could have the projector check a site on the internet and get the date/time on the server. This of course has issues if the user has no internet access, or if the site you are checking has problems...
No system will be perfect, and the more "secure" you try to make it, the more you risk annoying your real customers. And of course, it is always possible for a hacker to write a crack for it and bypass the security altogether.
Many thanks for your patience and full and comprehensive answer.
another question about "check the date".
The date of my computer is: dd/mm/yyyy.
In other country people write the date in another format, for example mm/dd/yyyy
When I set the "dead line" of the date, shall I suppose that
the dates of all computers of the world have the format dd/mm/yyyy by default or not?
1 person found this helpful
No, you can not count on that. But if you use BuddyAPI to check the date, you can get it in any format you want, and it will be consistent across machines
1 person found this helpful
I have done it in many years and it works nice until now , although it is not safe at all!!!
Put a date control code like this:
if the systemDate >= date(2011,11,18) then
on doDirtyTricks me
if the systemDate >= date(2011,12,18) then
if the systemDate >= date(2012,01,18) then
if the systemDate >= date(2012,02,18) then
then in doDirtyTricks you can put a series of random but strange actions. These random actions depend on what is most natural in your projector.
f.ex. let one strange action be like this: the projector only shows a picture and not goes any where, without alerting any thing.
or let it be: projector navigates to a frame with one button and when the user presses this button it goes back to start and does it again and again.
or let it from time to time quit or shut down the user computer, make main buttons invisible,......
in my case I let it generate exercises which are very very complicated and nor consistent with original ones! . Find more nasty things....
What is the clue is that you projector should not mention time expired at all.And prefereably let projector work for some time after the designed expiry.
Then you have to find some strange and random actions that makes the user lose the hope!
I have put a single line in all frames saying that if program dose not behaves properly then contact me at .......Then!
I experience that many contact me after expired date and report the projector malfunctions!
So it works!
Without knowing more about your program and what it does, I can;t say anything definitive, but it sounds like what you are doing is rather self-defeating. The point of the limited life of the program is generally so that after the time limit, the user will purchase it from you. If the program just starts misbehaving and doing annoying things after a certain time, then the user will just think that the program is buggy and poorly written, so they will definitely not want to buy it, and will likely go to your competition.
It may make you feel nice to think that you tricked someone and made their lives difficult, but if you had hoped to have the person would give you money, you just lost the deal.
Thanks for the help!
You are compleely right when if the projector is a commercial product.
But if one need to completely stop unauthorized use of a projector, as in my case(where I make projectors with math-exam content for students, free of charge!). Then you have to have something that works otherwise it will provide an easy way to cheat in math exam. I have experienced if you mention anything about date expired then almost all students know how to fix date on their computers. So I do some silent tricks that makes them give up using a projector(a misbehaving projector).
The last tricks I use now which seems to be completely safe(up to date) is putting a password at the start of projector. Then the students need the password any time they want to use the program. The password depends on the real date of the day/week number/ month/year combined with a random math operation done on it.The students must get this collective password from me by email from time to time. and this will work of course for a limited period of time. For example: the password can be like
NumToChar(integers in day * integers in month) followed by (sum of integers in month + sum of integers in year ) followed by more and more if desired.
here it will not help if they fix the date on computer, because the password has to be updated from time to time.