+353-1-416-8900REST OF WORLD
+44-20-3973-8888REST OF WORLD
1-917-300-0470EAST COAST U.S
1-800-526-8630U.S. (TOLL FREE)

x86 Software Reverse-Engineering, Cracking, and Counter-Measures. Edition No. 1. Tech Today

  • Book

  • 320 Pages
  • January 2024
  • John Wiley and Sons Ltd
  • ID: 5863943
A crystal-clear and practical blueprint to software disassembly

x86 Software Reverse-Engineering, Cracking, and Counter-Measures is centered around the world of disassembling software. It will start with the basics of the x86 assembly language, and progress to how that knowledge empowers you to reverse-engineer and circumvent software protections. No knowledge of assembly, reverse engineering, or software cracking is required.

The book begins with a bootcamp on x86, learning how to read, write, and build in the assembly that powers a massive amount of the world’s computers. Then the book will shift to reverse engineering applications using a handful of industry favorites such as IDA, Ghidra, Olly, and more. Next, we move to cracking with techniques such as patching and key generation, all harnessing the power of assembly and reverse engineering. Lastly, we’ll examine cracking from a defensive perspective. Providing learners with techniques to be a better defender of their own software, or knowledge to crack these techniques more effectively. - Assembly: computer Architecture, x86, system calls, building and linking, ASCII, condition codes, GDB, control flow, stack, calling conventions - Reverse Engineering: reconnaissance, strings, RE strategy, stripping, linking, optimizations, compilers, industry tools - Cracking: patching, key checkers, key generators, resource hacking, dependency walking - Defense: anti-debugging, anti-tamper, packing, cryptors/decryptors, whitelist, blacklist, RASP, code signing, obfuscation

A practical and hands-on resource for security professionals to hobbyists, this book is for anyone who wants to learn to take apart, understand, and modify black-box software. x86 Software Reverse-Engineering, Cracking, and Counter-Measures is a vital resource for security researchers, reverse engineers and defenders who analyze, research, crack or defend software applications.

Table of Contents

Introduction xxiii

Chapter 1 Decompilation and Architecture 1

Chapter 2 x86 Assembly: Data, Modes, Registers, and Memory Access 13

Chapter 3 x86 Assembly: Instructions 31

Chapter 4 Building and Running Assembly Programs 43

Chapter 5 Understanding Condition Codes 57

Chapter 6 Analyzing and Debugging Assembly Code 65

Chapter 7 Functions and Control Flow 77

Chapter 8 Compilers and Optimizers 127

Chapter 9 Reverse Engineering: Tools and Strategies 137

Chapter 10 Cracking: Tools and Strategies 147

Chapter 11 Patching and Advanced Tooling 179

Chapter 12 Defense 203

Chapter 13 Advanced Defensive Techniques 217

Chapter 14 Detection and Prevention 229

Chapter 15 Legal 239

Chapter 16 Advanced Techniques 245

Chapter 17 Bonus Topics 251

Conclusion 271

Index 273

Authors

Stephanie Domas Christopher Domas