Creating a Demo Version ,Not a TRIAL

Post your questions regarding programming in C# in here.
9 posts Page 1 of 1
Contributors
User avatar
administrator
Just Registered
Just Registered
Posts: 2
Joined: Thu Feb 24, 2011 9:51 am

BEFORE EVERYTHING,I CAN SAY,I SAW THE APPLICATION MANAGER IN 'codenstuff'.But it's in vb,i am working on C#.net.Now let me tell you my issue.

I am writing an application that I want to give to customers.
What is the best solution to create a trail period of 1 month.My preferred method is to disable parts of the application that are critical to normal use of the program but aren't critical to its evaluation (like the ability to save your work, for example).and then send them an unlocking code unique to their computer when they register the full program.
I was thinking that if they are interested in purchasing the software I will give them a license key or something, to unlock the application.

After all I don't want a "Sorry, this program has expired" message to the user.It should disable some application controls after the period and enable when they register.Please help me someone...Many thanks for any advice.
User avatar
CodenStuff
Site Admin
Site Admin
Posts: 4389
Joined: Tue Aug 04, 2009 1:47 am

Well you could do that when your software first loads. Maybe on first run save the current date to application settings and then each run after that have it count the number of days between the current date and the saved date and if its more than 30 exit/shutdown/diable your software from use.

You could also disable buttons and other controls until a "key" is entered and then simply enable them but it depends on how you want to do the keys. You could hardcode some keys into your software to check against or go a little more advanced and store them online which would require a database etc.
Welcome to CodenStuff.com Learn Code, Love Code. Thank you for being a member of the community.
Vikhedgehog
VIP - Donator
VIP - Donator
Posts: 812
Joined: Fri Nov 05, 2010 6:24 pm

You Can Also Buy Craig's XL Key Maker. It's In The VIP Section. I Think It Should Work :D
User avatar
administrator
Just Registered
Just Registered
Posts: 2
Joined: Thu Feb 24, 2011 9:51 am

CodenStuff wrote:
Well you could do that when your software first loads. Maybe on first run save the current date to application settings and then each run after that have it count the number of days between the current date and the saved date and if its more than 30 exit/shutdown/diable your software from use.

You could also disable buttons and other controls until a "key" is entered and then simply enable them but it depends on how you want to do the keys. You could hardcode some keys into your software to check against or go a little more advanced and store them online which would require a database etc.
That's affirmative.I want that key to be unique for each computer.I have one program does all this in c#.But it actually disables the whole software and i don't want that to happen.any tips boss?
User avatar
CodenStuff
Site Admin
Site Admin
Posts: 4389
Joined: Tue Aug 04, 2009 1:47 am

Well if it needs to be unique to each computer you now need to think how are you going to get that information and send them a key based on that information. For example you could do something as simple as getting the computer name and adding code to send it to your email address then you encrypt the computer name and send it back to them to use as a key.

For example:
Your app sends you an email with - ComputerName, Users email address
You then encrypt the ComputerName so it would look something like "FGF5433DAIRTUEI42" then email that back to the user
The user then enters that key into your software where your software decrypts it and checks that it matches the ComputerName.

lol it may sound complicated by its really just a matter of how you want to do it. You really need some sortof online checking otherwise everyone will be able to use the same key. If your not planning on selling your software then you could just have a single secret code to give to friends that will unlock special features in your software.

Whats the one you already have in C# that disables the software?
Welcome to CodenStuff.com Learn Code, Love Code. Thank you for being a member of the community.
User avatar
DreadNought
VIP - Donator
VIP - Donator
Posts: 116
Joined: Fri Jan 08, 2010 12:37 pm

DO NOT USE APPLICATION SETTINGS TO SAVE TRAIL PERIOD, Any person trying to bypass will be able to find your application settings in a blink of an eye, I think its stored in userdata. I've exploited program that have stupidly done that before.

If you want to have a system unique to each computer I am not 100% sure but I belive the GUID(not the best, I heard it can be broken) provides a Unique identification code, but better yet the HWID I *THINK* Is your CPU's ID which is most defiantly unique to each computer and you can simple get someone HWID and have it check that via a ftp link or even better yet, a registration server the application connects to via TCP, Communicate by packets not strings and add a Encryption, I can show you a simple encryption I created when I was 13 if you like called "SharkAlgorithm", there are multipile things you can do, but do not use Application settings.
Bound and boom tech,
The Future Of Coding
User avatar
MrAksel
C# Coder
C# Coder
Posts: 1758
Joined: Fri Mar 26, 2010 12:27 pm

Can I see that SharkAlgorithm? By the way, all network traffic is transferred in 'packets'. When you send a string, it is encoded to bytes and sent. Those bytes have a header that with the body form a packet. A string can be just as easily encrypted as an array of bytes, simply because strings are an array of bytes.
LMAOSHMSFOAIDMT
Laughing my a** of so hard my sombrero fell off and I dropped my taco lmao;


Over 30 projects with source code!
Please give reputation to helpful members!

Image
Image
User avatar
CodenStuff
Site Admin
Site Admin
Posts: 4389
Joined: Tue Aug 04, 2009 1:47 am

You are aware this post was made about a year ago? bump much lol

Anyway it doesnt matter how you add trial/registration/activation features to your software its never unbeatable and can be hacked/cracked. The thing to remember is that most people who may use your software wont know about user settings, registry editing, cracks and wouldnt even attempt to crack your software..not everyone is a bad person lol. You will get people that do crack it but dont worry too much because most of your users wont crack it and those are the ones that matter.

To give your software trial features a bit more protection to make it a little bit harder for crackers is to encrypt the settings using a unique code and then obfuscating your software so it cant be decompiled too easy.
Welcome to CodenStuff.com Learn Code, Love Code. Thank you for being a member of the community.
User avatar
DreadNought
VIP - Donator
VIP - Donator
Posts: 116
Joined: Fri Jan 08, 2010 12:37 pm

MrAksel; Sure, I'll find it and post it later, Indeed, but technically your point is invalid; Why not send the packet using number values and then using a Enum to Reference a string to a number, regardless, Numbers can be turned into strings.

@CodenStuff: I wasnt LOL, my bad, Indeed any software protection will always be beaten but a application settings protection is a very weak protection.
Bound and boom tech,
The Future Of Coding
9 posts Page 1 of 1
Return to “General coding help”