Click here to Skip to main content
15,886,873 members
Please Sign up or sign in to vote.
4.00/5 (1 vote)
See more:
I have developed a windows forms application in c# that I am planning to give to people in my industry. I want to start by giving it away for free but as I develop it further I will probablly start trying to charge for extra features.

I was thinking that a good way to implement copyright protection is to have users login to my web page and then when logged in the program could check what features they can use.

I havent tried to implement it but there is a good answer in the link below that should get me on the right track.

http://stackoverflow.com/questions/930807/c-sharp-login-to-website-via-program[^]

My issue is I believe that this would be quite an easy system to crack. I have no experiance in cracking programs but I assume all you would have to do is bypass the login and set the program to give all features to the user.

The only better solution I can think of is to have my program store the users project data to my web sites database so users can only save their work for the featurs they have access to. so if the fist line of protection is cracked the user still cant save their work. The only problem is that I really think my users (and their companies QA systems) might get paranoid not being able to save a copy of their work to their computer.

Instead of saving my users data to my website when I could have the program save it to their desktop but when the user clicks load the program could upload it to my webserver. My web site could then encript it and temporally store it. I could then have my program download the data from my web site decript it and load it into my program. I belive this would be much harder to crack. Although I dont really want to go to these lengths if there is a better way.

I hope you can follow.

Has anyone achieved copyright protection using a similar method? Is there a better way of doing things.
Posted

1 solution

All copyright protection systems are crackable. It's merely a question of how much effort you're prepared to put in and how hard you want to make it. If you're selling to British industry then companies are usually scrupulously honest about licence conditions, so you don't need a complicated technical solution. In other countries that might be different.

.Net applications are particularly easy to crack because the IL is at such a high level that it's easy to find the place in an assembly that needs modifying.

Personally I'd use a web service, so you can control the communication more closely, and encrypt the traffic so it's less trivial to set up a fake service and DNS redirection to hand off all rights. I wouldn't interfere with the save/load process because that risks really annoying users.

Bear in mind that if you require a live connection to start the app, that only makes sense if the users can guarantee to always have one, and also that you can guarantee your login service will always be up and accessible. It may make more sense to have an old fashioned licence file which encodes the rights.
 
Share this answer
 
Comments
viciouskinid 6-Aug-12 0:31am    
thanks for the comments. I will probably keep the online login but not do the "load through website".

much appreciated

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900