Preventing a 3rd-Party Program from Launching

Posted on 2006-05-12
Medium Priority
Last Modified: 2010-04-16
I am legally :-) reselling some key stroke logger software as part of a internet protection service I offer.  Some of my less affluent clients can't pay the entire fee upfront so I'm allowing them to make install payments with a HARD final payment date.

What I want to do is write some C# program that will cause the key stroke program not to launch after a certain date if the user hasn't made all of their payments.  In other words, when I install the key stroke program, I will also install my program at the same time.  My program will count down based on the final payment date that the customer and I have agreed on.

After I have received the final payment, I will provide the user with a permanent unlock code that will keep the program running.  If I don't receive the final payment on time, the key stroke program won't run.

Obviously my program would need to run silently (not in taskbar or taskmanager) w/o the user knowing it until it was time to enter the code.

Any ideas or sample code?
Question by:jrram

Expert Comment

ID: 16670466
hmm... i've been able to get around programs that use the date as expiration by simply changing my date on my desktop, one of them being a professional grade program (which I will not mention because I don't support this type of thing, it was more of a test).

Just a thought about using dates as expiration.
LVL 20

Accepted Solution

Daniel Van Der Werken earned 700 total points
ID: 16670607
I recommend you encrypt a value based on the DateTime for today and for the expiration.

Write it to a non-intuitive registry location for HKCU.

Then, update the registry value each time the person loads the application based on the date.  Do a compare between the last time it was written and the current date.  For example, if today's date is 12-30-2005 and the date you last wrote out to the registry was 5-12-2006, you know it's a bogus system date.  Don't let the user run the app.

Meanwhile, for the time expiration, just compare the dates and if there's time left, let it run.

After they pay you, give them key value or something that you write out that never expires.

LVL 35

Assisted Solution

mrichmon earned 188 total points
ID: 16671030
>>Obviously my program would need to run silently (not in taskbar or taskmanager) w/o the user knowing it until it was time to enter the code.

Well actually legally you need to let them know in your EULA if you are installing other programs and what the purpose is.  You don't want the lawsuits that already have precednces for people who got sued for installing separate software to do this.

Now if it is part of your original program ,then that is different, but if it is something running all the time - separate from your program that is considered separate software and must be mentioned.
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

LVL 11

Expert Comment

ID: 16673395
and dont forget to enrcypt your net application, otherwise its decompiled in a second and someone could checkout your algorithm for the datecheck.
LVL 13

Author Comment

ID: 16743734
Thanks for all the tips guys.  I was looking for something that was already pre-coded that I could possibly customize to tell it what app I wanted to block.

I'm guessing since none of you suggested anything like that I'll have to code it myself :-)
LVL 13

Author Comment

ID: 16882295
I've decided go to against in a different direction with this.  My clients will have to pay upfront so I can avoid this coding hassle.  Simplifies my business.  Thanks for all the ideas, again!

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction Hi all and welcome to my first article on Experts Exchange. A while ago, someone asked me if i could do some tutorials on object oriented programming. I decided to do them on C#. Now you may ask me, why's that? Well, one of the re…
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
This Micro Tutorial will teach you how to add a cinematic look to any film or video out there. There are very few simple steps that you will follow to do so. This will be demonstrated using Adobe Premiere Pro CS6.
In a question here at Experts Exchange (https://www.experts-exchange.com/questions/29062564/Adobe-acrobat-reader-DC.html), a member asked how to create a signature in Adobe Acrobat Reader DC (the free Reader product, not the paid, full Acrobat produ…
Suggested Courses

850 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question