I plan to let create different desktop applications for windows in the future. They should be hard to crack. Does anyone know a good way to protect desktop applications? The protection-system should: - easy to implement (i want to try to sell the software at different platforms like share-it, plimus, clickbank etc.) - not expensive to create Or maybe there are pre-created solutions out there? Maybe a solution that makes it possible to register the software on my server automatically after payment. Only if the software is registered it is useable. Or are there better ways to protect software nowadays? Any hints?
do what Windows is doing.. make the software call back to a server to verify license from time to time... if fails.. disable the software..
I think you could have a better luck of getting an answer from the programming forum. However, I would like to point out that there are a lot of crackers out there, who love challenges and want to obtain reputation in the cracker community. So, I am not so sure whether you should really investment large amount of money for a copy protection system, which will be eventually cracked anyway. Instead, I feel that you could use an approach, which generates an individual license key for each licensed user. This is probably a piece of the cake for crackers, but you should also remember that copy protection methods going beyond the key generation approach usually ends up hurting your honest customers. For instance, I would never purchase a software, which does requires a network connection, because of the selected copy protection method (unless the software cannot be used without network connection). On the other hand, if your license servers are down, you will end up hurting your honest customers again. If you to choose to go with this path, you should at least ensure that if the servers are down, the software works as expected. Good luck with your business, and I hope that you find a copy protection method, which suits for your needs.
There are a number of ways to protect software but rarely do developers post the specifics in a public forum for obvious reasons. Your best bet is to take the discussion offline or a to a private forum, and talk to developers about their most effective protection methods.
Thanks for your detailed opinion pkainulainen. I don't want to hurt my consumers. So maybe it's better to not call my server. @MayaLocke Yes that's understandable. I'll talk to programmers for a good solution that does not hurt consumers.
I know that a lot of companies are just updating their software VERY frequently (4-5 times a month) so it makes it almost impossible for users to have the most up to date software with a crack.
Yes, I have have bought the license for two or three computer programs, which are updated frequently. However, since I do not have to change my license key, the updates will probably just fix some bugs.
crackerz can do it! whatever ur program is, they crack Microsoft and others appz, and they got more security than u, noway
I agree your best bet is private development/programming forums or groups. There are a number of different things you can do between a separate download (not connected to trial version), phoning home, a registration key hash tied to user information etc...
I know almost everything is crackable. So do you guys think I should make it harder for crackers with a technique like phoning home or should I do not protect it because maybe else it's a challenge for the crackers?
You should definitely use some kind of copy protection method, which makes the honest people pay for your software (Locks were not invented to protect your house against honest people). Of course it would be great, if the method would not be a piece of cake for crackers. Perhaps you could use a combination of these methods: Registration code, which is generated from the personal information of the user. A registration server, which is contacted when a program is started. So, the process of checking whether the program is licensed or not could be following: When a program is started, a background process verifies the software by using your registration servers. If servers are not reached, verification process proceeds to next section. The program verifies the entered registration key. If it is valid, program can be started. If not, it could show a notification to the user, and quit. This is fairly simple, yet a somewhat efficient way of creating copy protection. Of course crackers could (or more likely would) crack your program. When you are considering the possible copy protection method, figure out what kind of copy protection method would you be ready to accept in computer programs, which you have bought. Perhaps you could also do some study by asking your friends the same question. This way you would have some kind of idea, what kind of copy protection method does not hurt your business. Oh, one more thought: You could host an essential part of your program online in your servers, and allow access only those clients having valid credentials. Multiplayer option of computer games is a good example of this approach.
I wonder if there are open source solutions available that my programmer can easily add to my software. After buying, a consumer could get a completely random generated serial number automatically and a download link for the software. At the same time the web application could add that serial to it's internal list of valid serial numbers. So when the new user is entering the new serial it works immediately.
I don't think it'd be possible to design desktop software that's 100% crack proof. Just take a look at what Microsoft produces. Even the most high end of their products are cracked in no time, such as Vista, Windows 7 and MS Office 2007. You can make it harder to crack as you put it by implementing checks so that the serial/product key is verified at your server to make sure it's only being used once.