Archived

This topic is now archived and is closed to further replies.

How do i make my app stop working after x days ?

This topic is 5305 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, How do i make myapp only work for x days, like a sharewhare tryout period? Alot of softwhare / demosoftwhare get their protection removed by hackers, is there no way to avoid that? < There are no stupid questions, only stupid answers! >

Share this post


Link to post
Share on other sites
on windows you could store a value somewhere in the registery (and not remove it if your app has an uninstaller). You would increase this value each time the day of the system changes. If it''s 30, don''t run. Of course when the user starts changing his system date this will make your app quit even sooner, but that''s HIS problem.

note: this is a very lame thing to do.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
quote:
Original post by sysmark
note: this is a very lame thing to do.


Yeah, making viruses is always lame.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Still child''s play to crack though with a decent debugger.

Share this post


Link to post
Share on other sites
Putting data in files / registry keys that are not removed on uninstall is evil. It''s also pointless - the cracker need only have regmon and filemon, and you''re screwed.
Most schemes can easily be cracked by any fool with a debugger. If you want to slow ''em down a bit:
- hide+encrypt your strings
- multiple (inlined) checks, scattered throughout the code
- DON''T immediately crap out - wait, tell the user indirectly (FFS, not another "Trial period over" MessageBox)
- hide the install date in important program data
- do the check in an unrelated, critical subroutine - if the cracker NOPs the call out, boom.
- make ''em look like a fool: either one simple protection, and another that isn''t immediately triggered, or send different versions of the app to each user (so that a patch is difficult).
You get the idea.

Share this post


Link to post
Share on other sites
corrput the install program when the installation is done. Then when x dayes have passed corrupt the exe. And on webpage have a realy bad connection. but offcource you can make a cpy of the installaprogram. humm dident work.

Share this post


Link to post
Share on other sites
make a webpage with special keys sent to an emailadress. And you cant register more than one key for each email. You cant stop this, you can only make it harder.

Share this post


Link to post
Share on other sites
HAHA..... Leadorn your a funny guy !

quote:

- multiple (inlined) checks, scattered throughout the code


Wouldn''t that have inpact on performance ? I think thats easy to hack anyway.

quote:

- hide+encrypt your strings
- hide the install date in important program data
- do the check in an unrelated, critical subroutine - if the cracker NOPs the call out, boom.


Sounds intresting...

I haven''t seen any software so far that wasnt cracked. I meen there has been hardware locks and special protection software, all cracked...


< There are no stupid questions, only stupid answers! >

Share this post


Link to post
Share on other sites
Why not simply have two binaries. One free download with limited capabilities.

One you can buy, still requiring some protection schemes, but with full features and support.


Share this post


Link to post
Share on other sites
detect whethere some debuggers are running if so don t execute your trail check and just exit the program

and place this code into your main loop if it s a normal win32 api program(not MFC)

get a list of all the famous debuggers
encrypt these names so nobody find these names when he checks the binary of your application

Share this post


Link to post
Share on other sites
Usual cracking method is bp on MessageBox or search for "time''s up" string. That takes you to code like

call check
jnz ok
push error_str
call show_err_msg
ok:

You would only have to flip the jmp or look at check, and have it return 1 immediately.
If you inline check, and have it called from non-obvious places, it''s a lot more work. Even better, make different versions (=> can''t search for one code sequence, fast/slow check).
I don''t see how this would have a performance impact, unless you''re doing something really complicated. Easy to hack? It''s a bit harder, and enough to scare off SoftICE n00bs who just read a crackme.

One more thing you could do, if you can afford to require net access: send em a key, require the app to authenticate on startup, and see who''s doing it (IP, HD serial number, ...).

Cutting features out of the free version is a good protection, but not time-limited as OP requested.

Have not tried Armadillo.

Debugger detection is lame. FrogICE anyone?

Of course everything can be cracked. But is your app worth that much? Just make it enough trouble to deter people a bit.

Share this post


Link to post
Share on other sites
I’m a funny guy, that was fun to read...mohahah it reminds me of a mafia movie, someone said that "your a funny guy". Goodfellas with Robert De Niro.. He gets called a funny guy, and he starts argue about if he means that Robert was and idiot, fool or just funny and what part of what he said was funny.

This might be a little of topic but hey am a funny guy.
Hey do I look funny to you.

Share this post


Link to post
Share on other sites
[ignores leadorn''s insanity]

I agree, just make it a little bit harder to crack for softICE kiddies, and that will deter 95% of all crackers (most will just give up after a certain period of time).

The main key is to make it difficult for a single program to work as a crack for your program, and make it so that a cracked version of your program cant be distributed easily. How can you do this without required users to have net access whenever they run the program? I dont know.

Share this post


Link to post
Share on other sites
quote:
Original post by Leadorn
Goodfellas with Robert De Niro.. He gets called a funny guy, and he starts argue about if he means that Robert was and idiot, fool or just funny and what part of what he said was funny.


Actually, you''re thinking of Danny DeVito.

Share this post


Link to post
Share on other sites
That is irrelevant.

Back on topic: checking for debugger side effects is much better than seeing if it''s running at startup (easily fooled).
Another interesting thing that I bet most crackers don''t know: code and data caches are not synchronized >:]

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
quote:
Original post by doctorsixstring
quote:
Original post by Leadorn
Goodfellas with Robert De Niro.. He gets called a funny guy, and he starts argue about if he means that Robert was and idiot, fool or just funny and what part of what he said was funny.


Actually, you''re thinking of Danny DeVito.



No, Joe Pesci..

Share this post


Link to post
Share on other sites