How To Prevent Cracking Of Software

It's impossible totaly protected software. Big company's spend damn lots of money to try and prevent their software from being cracked, but they all failed..! you can learn how to try and prevent it, but your just slowing em down really, they will in that end crack it.

I. For Prevent Cracking Of Software first you have to learn how to crack.
1. Use ready tool. For example Hard dungle tool. It's expensive but full scale.
2. Create own tool use your security knowledge. This means you should know how to craker work? What is primary look point? How can you hide? Can you create trap?
3. Use free tool some methods. For example CD key.

If some use debug most keys use kernel debug mode. This means you check debug mode if present do different something.
Other example is CD key. You can read as much as board feature. For example Mac address board ID CPU ID then try to generate some hardware ID. for example Xor everting Use Hardware Id and CD key generate activation request code. "Use this code secure "For example IND" give this for activation request code,generate key for this activation. Give it the key and test it what ever you need. If key correct to continue.

II. Host the software on your own server and only allow the client (highly restricted) access through a graphical interface. Though that method only works for software where an internet connection is reachable as you will remove a large amount of potential clients.

Otherwise what you can do is like said above learn to crack crackmes and use though techniques to slow code attacks. I say slow because code is a set of instructions for a computer and as such it is always possible to change them(unless you count the TPM that's supposed to theoretically launch code in a non user accessible area of memory but even then you've got to worry about hardware attacks ex look at how the original xbox system code was hacked).

A suggestion would be to first determine if you are willing to accept that anti cracking code will slow/increase memory footprint as well may cause false positives. One thing I would suggest is to avoid debugger/disassembler specific code as you will end up using a large amount of them for every possible debugger/dissembler and really at least in the crackmes that I've seen is not effective.

What I suggest is to employ encryption with run time calculated keys, as well use a large amount of them. Ie encrypt section a with key 123 and section b with were(obviously use a longer/more keys) and then use broad anti debugger protection in multiple areas of your code not in a single point where an attacker could change and be done with your protection, as well use checksums on your code possibly using the checksum of one area as the decryption key for the next code section.

III. Use some kind of global variables which are required to run the application fully and let the server fil it everytime the global var is used.

For example, the server will send some kind of important data such as camera speed (if it's a game). Without this data the application will not work property.Before that, the server will not send this data if the user is not logged with valid password.Make sure the password is allowed only few times per IP.This is still not 100% way to do this but one of the hardest to crack in my opinion.

Share this

Related Posts