CHAPTER 9Reverse Engineering: Tools and Strategies

Up until this point, the focus of this book has been on understanding how the guts of computers work. This is essential to being an effective software cracker.

Now that you have the foundation, the focus shifts to the art of software cracking. To experiment and practice cracking, you'll work with a variety of targets:

  • Real software: Software taken from the real world. When analyzing real software, you must take into account copyright law to ensure no copyright violations.
  • Manufactured examples: Applications written for this book to illustrate specific concepts.
  • crackmes: Small crackable programs written by other software crackers to demonstrate an idea and challenge others.

crackmes like those used in this course are manufactured examples that provide a few benefits to an aspiring cracker. In general, they are designed to be solvable, legal to crack, and safe to run in a debugger.

crackmes are also often labeled based on their focus, level of expertise, etc. As a result, you can specifically seek out challenge problems suited to your interests and skill level (i.e., advanced C cracker versus beginner Java cracker).

Lab: RE Bingo

This lab provides hands-on experience in reversing code that has been built (and obfuscated) by a compiler.

Labs and all associated instructions can be found in their corresponding folder here:

https://github.com/DazzleCatDuo/X86-SOFTWARE-REVERSE-ENGINEERING-CRACKING-AND-COUNTER-MEASURES

For this ...

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.