what is the logic behind?

Bhaai

New Member
Disciple
Feb 2, 2006
71
1
0
Recently i installed a demo program that requires activation within 30 days failing which it would be unusable

everyday it would show me the no. of days remaining

so i thought tht it relies on the system clock to calculate the time and i changed the time to point to 2-3 days earlier so that i would be able to use it longer!

but then the program refused to start saying tht the system time has been changed!

what then is the logic behind this countdown of 30 days?
 

dipdude

New Member
Disciple
May 27, 2005
4,391
108
0
www.techenclave.com
The logic would be - during install - the program would write the Time(day, date, year) to some X file - every 24 hours it would increment day/date - the moment you change your system clock - the value that is written by the program to X would not match with current system value and it would give out the error.

So basically it is the time you install that matters. Just my 2 cents :)

To everybody : Please keep the discussion to programming/logic part - the guy is not asking for a workaround :no:
 

Hacker

Well-Known Member
Adept
Apr 1, 2005
1,694
11
51
Pune
If you still want to use that program, remove it after 30 days, clear all registry entries of that program n install it again.
 

Sandy

Well-Known Member
Adept
Apr 11, 2005
2,446
29
61
57
www.xtremesystems.org
Bhaai said:
Recently i installed a demo program that requires activation within 30 days failing which it would be unusable

everyday it would show me the no. of days remaining

so i thought tht it relies on the system clock to calculate the time and i changed the time to point to 2-3 days earlier so that i would be able to use it longer!

but then the program refused to start saying tht the system time has been changed!

what then is the logic behind this countdown of 30 days?
try doing that to windows XP lol wont work :p
 

Bhaai

New Member
Disciple
Feb 2, 2006
71
1
0
@Sandy

i am on winXP dude!

@dipdude

how does that X file get updated every 24 hrs even if the system is off and how does it count the 24 hrs?
 

Josh

Well-Known Member
Adept
Mar 24, 2006
1,179
24
101
36
www.mobguru.com
Rather than system time some check with BIOS time. Also whenever u run the software it writes the entry to either some file or registry. So even if u change the time it maintains its own clock( from file or registry ).
 

dipdude

New Member
Disciple
May 27, 2005
4,391
108
0
www.techenclave.com
You install X - X writes Today(T) and T + 1 to Y.

Next day you start X - X checks - system clock :

  • if it shows T(You start x on same day), fine.
  • if it shows T+1, it decrements the program counter(29 days left etc) and also T becomes T+1 and T+1 is now (T+1)+1 and so on ...
  • if it shows T + 10(as in you start program 10 days later) it would check T and decrements the program counter(20 days left etc) and also T becomes T+10 and T+1 is now (T+10)+1 and so on ...

Now if you had changed the system clock after installation :

  • Time would be T - something so it would give error saying - you have manipulated your system time.

This is simplest logic - the system clock does the hard work - the program just keeps a note of time :)

Lets wait for some hardcore programmers to reply ;)
 

Bhaai

New Member
Disciple
Feb 2, 2006
71
1
0
hmm k so if i advance the clock to show say a date in the next week i am in trouble

so my aim now is to fool the program.so am i to find the file wherein it stores the time?will it be easy, do you think that file will be stored in the same directory in which it is installed?will it be a read only file?
 

elendil

New Member
Disciple
Feb 6, 2006
290
11
0
41
dipdude's explanation is perfect. the only way to fool a program like that is keep on changing your system time at startup, or you before you run the program to the date you last ran it. That way it's fooled into thinking its the same day.

Good Luck finding the file mate. It most probably is a registry key hidden somewhere, rather than a file . My guess is its an encrypted value. I doubt it would be so easy to crack it, if it was a well thought of process.

An easier way would be to run a debugger, find the instructions, use a hex editor and disable the check.

Even that might not work, if the person programming it was a smartass (like me :p).

I had to do something similar once. Just deleted a few key files everytime the system would find an error with the time.

There is another possibility too. If the program is network based, it could be a server side check. That my dear friend would be close to impossible to crack. But then as the adidas line goes "impossible is nothing".
 

Systemic Anamoly

Well-Known Member
Adept
Mar 16, 2005
645
7
81
112
it can be nething a register entry or a DLL or both(ex: Acdsee 8.0) depends on wat program u r using...

@elendil Acdsee checks the serial which is entered with the server :p then registers the product...well i can say thts not the case with everyones acdsee 8.0 now is it :lol:
 

Bhaai

New Member
Disciple
Feb 2, 2006
71
1
0
nice explanations evrybody there btw the program i was talking about was flash