Software cracking

A crack can mean any tool that enables breaking software protection, a stolen product key, or guessed password.

[8] Fairlight pointed out in one of their .nfo files that these type of cracks are not allowed for warez scene game releases.

[14] Educational resources for reverse engineering and software cracking are, however, legal and available in the form of Crackme programs.

[2] In 2001, Dan S. Wallach, a professor from Rice University, argued that "those determined to bypass copy-protection have always found ways to do so – and always will".

Uploading the altered copies on file sharing networks provided a source of laughs for adult users.

In the latter half of the nineties, one of the most respected sources of information about "software protection reversing" was Fravia's website.

He had also taught and authored many papers on the subject, and his texts are considered classics in the field and are mandatory reading for students of RCE.

[18] +HCU published a new reverse engineering problem annually and a small number of respondents with the best replies qualified for an undergraduate position at the university.

[18] The most common software crack is the modification of an application's binary to cause or prevent a specific key branch in the program's execution.

This is accomplished by reverse engineering the compiled program code using a debugger such as x64dbg, SoftICE,[20] OllyDbg, GDB, or MacsBug until the software cracker reaches the subroutine that contains the primary method of protecting the software (or by disassembling an executable file with a program such as IDA).

A specific example of this technique is a crack that removes the expiration period from a time-limited trial of an application.

This may enable another program such as Alcohol 120%, CloneDVD, Game Jackal, or Daemon Tools to copy the protected software to a user's hard disk.

Java's bytecode also works in a similar fashion in which there is an intermediate language before the program is compiled to run on the platform dependent machine code.

[27] Although these cracks are used by legal buyers of software, they can also be used by people who have downloaded or otherwise obtained unauthorized copies (often through P2P networks).

Software piracy rates were especially prevalent in African, Asian, Eastern European, and Latin American countries.

Software crack illustration