Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Securing applications in general isn't a simple task. A lot of companies are investing a lot of money to find new securing algorithms, which get all cracked very fast.</p> <p>Securing Java applications is a bit more difficult. Any serial verification algorithm embedded within your application can be decompiled, so a serial key generator will be pretty easy to build.</p> <p>A good starting point is the article you gave. It tells you how to build a key verification system, and how to generate keys for your (legitimate) users.</p> <p>After implementing such an algorithm, I'd suggest you to secure the source code a little, so decompilation become a little more "tricky". Use code obfuscation techniques to hide your verification algorithm implementation. This will also make the task harder for people trying to crack your application just by modifying byte-code.</p> <p>A good technique could be to export your key verification algorithm on a remote server. The client send the key to the server, which replies with a 'validation code' to tell your application that your key is valid. But this doesn't prevents users from modifying your application to remove any key verification procedure. And this might be very annoying for legitimate users who don't have a 24-hours Internet connection. I'm thinking about Steam, which verify the key validity at every launch on Internet, and which annoys a lot of users.</p> <p>To find a good protection technique, look around you and try to determine how others people do, which techniques are working, which aren't. They are a lot of example (Video game industry, in particular). But keep in mind that even the best companies aren't able to secure their applications correctly. No techniques are unbreakable.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload