Program Protector License Key
Asm- 26-Jul-05 2:17 -asm- 26-Jul-05 2:17 Your code is good, but it has one big mistake: software key is stored on customer's HDD. Good cracker finds it even if it is encrypted, obfuscated, covered with complicated functions etc. But there is one method which is unbreakable: software key received from vendor is used ONLY to decryption important data files. So there isn't any place in protected program, where is software key comparison. It is necessary to use good encryption algorithm (blowfish, twofish etc. M i s t e r L i s t e r 20-Jan-05 4:57 20-Jan-05 4:57 All, After reading all of the responses posted here. I think 'Jon Person' has the best method for keeping honest people honest.
One thing that hasn't been mentioned is biometrics. Everybody has a unique finger print, retinal scan, etc. As biometric input devices become common place I am (almost) positive that these devices will be used to ~deter~ software piracy.
In the new window that opens, copy and paste the license key (we recommend copying and pasting your key to avoid typing errors). Click on the Register Now button. The program will be registered. Now you can remove all the spyware infections on your PC.
Along with Jon Person's comments about internet verification, I think that this would put a big damper on piracy. Burek123 7-Jan-05 7:56 7-Jan-05 7:56 Hi When I was reading this article I said, cool that's exactly what I need to know, since I need some sort of protection for my little software. Until I got to the point where it shows that no matter what sophisticated algorithm you use to code/decode protection_key, hackers actually look for this IF (A = B) code. Well, maybe this could give hackers a bit more time to play: You don't use this IF (A = B) code but you can calculate some result from the keys, to get one number. For example if it's valid you get out 1 if it's not you get anything else but 1. And you can use this result in your code.
For example (I'm a delphi novice) you can use array. If you have an array of data as: name:array[1.1] of integers and if you use this array in you main procedure in a way that runs with name[result] and it will be ok as long as result is 1, if result is anything but 1 it will fale. Then you need to trap the error and close the program on error. You can use dynamic array. Or you can use different things, like converting string result to integer, assuming valid result should only return numbers.
This is a simple example, but if you go around and implement similar kind of logic in lots of places in your program it could give hackers a bit of headache. I'm planning to implement sopmething like this, so if anybody has any comments on this, please do. Fafasoft 31-Dec-04 23:41 31-Dec-04 23:41 Well I have implemented a scheme roughly as it is described in the article. I have found mac addresses to be unreliable but harddisk serials appear to be more stable.
As far as internet licensing is concerned it requires more work on the server side and can also be circumvented by simple cutting out the protection code, same goes for dongles. I have witnessed a dongle broken with an oscilloscope in less than one week by a team of engineers!
I'm convinced our code will be broken someday as there is only so much time you can spend on this but I did follow some recommendations from fravia himself. The problem as also stated in another article is how much time can you afford to spend on protection coding anyway? Jon Person 30-Dec-04 22:37 30-Dec-04 22:37 I guess I don't see where all the fuss about copy protection is coming from? As a component developer, I have experience with the battle between fighting piracy and keeping things simple for my customers. Using an over-the-web activation system such as a.NET Web Service works very well because it gives you control. Specifically, it gives you the ability to *do something* when a license is abused, and stop the *growth* of piracy. Visual basic 2010 tutorial pdf bahasa indonesia.
I've found that if I can shut down a license, things get a whole lot more relaxed around the office. Licenses are bound to a developer's machine. If their hardware changes and the key is invalidated, no problem. They just go online, and as long as they have the username & password, they can log in and re-issue themselves a new key. Re-issuing a new key shuts off the old one. Who *really* re-installs their development box every Tuesday?