Jump to content

Question About Keygen Software


Recommended Posts

I would just like to be crystal clear. I am not trying to start/find/hack/write keygens. I'm not looking for any illicit information, just a basic understanding of how they work. I was wondering...how are keygens typically made?

For programs that verify keys within the software, I would assume these programs picked apart to yield the verification method, which is then emulated/blocked/etc. Is this correct?

But for programs that require an internet connection to verify, how are these made? Does someone collect valid keys en masse and reverse engineer the verification algorithm? Or is there some other popular method?

Link to comment
Share on other sites

Serial numbers for computer software have a specific pattern, which allows the installer or application to detect whether or not it is a legit key. A very simple example would be that every serial number has exactly three occurrences of the number 5 in it - so 1932-1253-2319-5512 would be a working serial number. In a real-life scenario the relationships between the numbers would of course be more complicated.

The shipped software contains an algorithm that checks whether or not a serial is valid. The software creator has a piece of software that allows him to create serial numbers for the product.

To create a keygen, a cracker group (people specialized in breaking copy protection schemes) analyze the program executable to find the part that checks the serial. They then reconstruct the algorithm to create the serials based on the checking code. The finished keygen is an app applying the algorithm to create a serial number.

Sometimes keygens do not really contain the algorithm, but rather a list of valid serial numbers, of which one is selected at random.

The keygen for Windows xp in the later service packs was more complicated, because Microsoft checked not only whether a key was valid, but also whether it had been sold with a copy and was not already in use on another computer. The keygen sent mass requests to the Microsoft server to check whether or not it was a working key.

Read more: http://wiki.answers.com/Q/How_does_keygens_work

Edited by Infiltrator
Link to comment
Share on other sites

Make keygens, who cares. For local auth schemes, all the code is right there. There may be some protection/obfuscation/compression/encryption to protect the key algorithm, but the fact is you have all the code. So the whole key (lol) is to understand the algorithm and re-implement it in your keygen. This is typically done by using common reverse engineering tools; most often a debugger and disassembler. Everyone has their own preferences, though IDA tends to be the du jour disassembler.

Anyways, with local auth schemes, you have the lock and the key -- this is why DRM is such a fail; defective by design.

Link to comment
Share on other sites

  • 5 months later...

You have to learn x86 architecture, machine language, to write your own keygens. Apps like IDA basically convert programs into low level assembler code. It can take several years to learn assembler, if you're not into comp. sci., its not like HTML. Companies pay developers more to design sophisticated techniques for authentication, so even if you manage to disassemble, you would need a phd in math to decipher it.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...