CHAPTER 10Cracking: Tools and Strategies
Cracking is the art of reversing software to bypass protections or other undesirable functionality. This chapter explores some of the key tools and strategies used for software cracking, including the use of key generators and patching to defeat key checkers.
Key Checkers
One of the most common practices for licensing software is through license keys. In a goal to defeat piracy, every installation of the software requires a unique key to complete the installation. In the case of software with multiple tiers of features, they may have some features always freely available, while others reside behind a license wall, or the software may not work at all without a license key.
License keys are a common anti-piracy solution, and they have their advantages. These are two of the most significant:
- License keys are easy to generate and verify.
- The ratio of valid to invalid keys is so small that random guessing is unlikely to generate a valid key (assuming a reasonable key length).
However, like all security, if they are implemented poorly, they can be highly susceptible to cracking, and like all security, they are not entirely infallible. A sufficiently knowledgeable and motivated cracker could eventually defeat or bypass them. However, they're still one of the stronger forms of protection; this is just a reminder that there is no such thing as 100 percent secure software.
Back in the day when offline systems were more common, license checking ...
Get x86 Software Reverse-Engineering, Cracking, and Counter-Measures now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.