How Software piracy works: Crack, Patch & Keygen

TheProNoobS
5 min readAug 19, 2020

--

In this digital era, where we all are mainly focusing on digital media piracy-movies and music, one major victim of digital piracy remains un-noticed: Software. According to the Business Software Alliance’s report in 2012, 42 percent of all software used in the world is pirated, and the commercial value of unlicensed software put into the market totaled $59 billion. Yes, that’s a very huge amount. Let us talk about how software piracy work and what is crack, patch, and keygen.

Most of us are using Windows OS on our personal computers, but how many of us have the officially purchased copy for Windows? Not only Windows, but there are so many softwares in our routine which are not officially purchased but CRACKED.

“THIS ARTICLE IS ONLY FOR EDUCATION PURPOSE, WE DO NOT PROMOTE ANY PIRACY.”

Nothing on the internet is free.

Let’s have a look at the list of most pirated Softwares across the globe.

  1. Windows OS
  2. Microsoft Office
  3. Adobe Software Suite (Majorly Photoshop)
  4. Internet Download Manager (IDM)
  5. Antivirus (Majorly AVG and McAfee)
  6. WinRar
  7. CorelDRAW

So today, in this article, we are going to talk about software piracy. But before moving ahead to learn how software piracy works, let’s have a look at how software activation works in the first place.

Software Licensing:

Whenever we buy any software, we have been provided an activation key along with software copy. Now many of us think that the activation key is the license key that activates the software. But it is only partially true. This is a common misconception about the software license key. Strictly speaking, the license is the rights granted to the user of the software and the license key is simply the token that enables the copy protection scheme to verify the user as a legitimate paying customer.

There are many ways software providers can verify the legitimacy of the user.

  • Sometimes the key itself can be entered in the software and by some computational comparison method, it can be determined the legitimacy of the key and subsequently continues the installation or execution process of the software.
  • The key can also be a hardware dongle that physically connects with the computer making the keyless there vulnerable to copying.

These methods are redundant and obsolete from the market because they are comparatively easy to break. Bypassing copy protection schemes based on either software license keys or hardware dongles through reverse engineering of the verification code is not that complicated. Bear in mind that all protection systems can (and will, given enough time and resources) be broken.

Now to overcome this problem, some big tech giants like Microsoft uses software license keys to activate each instance of its software via the internet. Now, remember that Product Key or Activation Key provided to the user is not exactly the license key but that key will validate the authenticity of the user to initiate the Activation process and then only the On-Line activation process will initiate.

Not much public information available for other software providers, but there are two types of activation mechanisms currently being used by Microsoft.

  • MAK (Multiple Activation Key):
    In this activation method, each instance of the software is activated directly with Microsoft (or through an activation proxy) independently of each other.
    – > For example — Software purchased for personal use
  • KMS (Key Management Service):
    This method deploys an activation server within the organization to allow individual software instances to activate internally using KMS without communicating directly with Microsoft.
    -> For example — An employer purchases multiple services for their organization.

Upon activation, the key is checked online with Microsoft to determine its validity, and keys used by unauthorized users are subsequently withdrawn and further activation requests using the compromised key are rejected.

Software Piracy

This is all we discussed how software licensing works. Now let’s see how software piracy works. Basically, there are multiple ways one can use pirated software. The most common software crack is the modification of an application’s binary to prevent executing a specific code in the program’s execution. Generally, this includes bypassing the code which is responsible for user authentication or removes the expiration period from trial software. This can be accomplished by reverse-engineering the compiled program using various tools available in the market. Most of the time .dll file or .so files are being used to crack the software. In this article, we have explained how each way can be used to bypass or break the authentication process and use a pirated copy of the software.

  • Using a Crack:
    Crack is a flaw in the software. It creates a vulnerability that becomes a vector for undesired access to a system or application. Cracks take advantage of the existing code. This involves changing a few byte values in existing code to alter the existing behavior without actually modifying the code itself.
    Ex. If the default trial is 30 days, a crack could change that value to 9999 days
  • Using a Patch:
    The patch is a change to the code of an application of the system to inject something you desire. The patch replaces existing functionality in a program to alter behavior in a way not intended by the original developer. This has the advantage for a cracker to not include a large executable in a release when only a few bytes are changed.
    Ex. disabling a section of code that checks for a valid license with code that assumes a license exists.
  • Using a KeyGen:
    Keygen is typically a product that generates license keys for software. A keygen is the least invasive form of hacking. With a keygen, the developer figures out the algorithm that generates valid license keys for a piece of software and provides a little utility to generate as many such keys as one wishes.
    Ex: A company used the checksum, where the 13th digit verifies the first 12. Thus, you could enter anything for the first 12 digits, and guess the 13th digit which has only 10 possibilities (0–9). This is leading to the infamous key 1234–56789–1234
  • The algorithm for verifying is public, and looks something like this:

x = 3;

for(int i = 0; i < 12; i++){

x += (2 * x) ^ digit[i];

}

lastDigit = x % 10;

Remember that cracking the software is a very time-being process of software piracy as proprietary software developers are constantly developing techniques such as code obfuscation, encryption, and self-modifying code to make this modification increasingly difficult or easy detection of modification in the original code.

So on the conclusion of this article, we can say that cracks exploit flaws in the software, patches change some part of the software, and keygens create an illegal license which gets you through software license restrictions.

BY: DHRUVIL ‘JÊRRŸ’ BHATT

Hard Facts of Software Piracy: Here

Tech Blogs: Here

Gaming Blogs: Here

--

--

TheProNoobS

TheProNoobS: Euphoric Destination for Gamers and Techiots. Read our blogs on https://blog.thepronoobs.com/