More practical less theory
● In-depth practical demonstration with multiple examples of reverse engineering concepts.
● Provides a step-by-step approach to reverse engineering, including assembly instructions.
● Helps security researchers to crack application code and logic using reverse engineering open source tools.
● Reverse engineering strategies for simple-to-complex applications like Wannacry ransomware and Windows calculator.
The book ‘Implementing Reverse Engineering’ begins with a step-by-step explanation of the fundamentals of reverse engineering. You will learn how to use reverse engineering to find bugs and hacks in real-world applications. This book is divided into three sections. The first section is an exploration of the reverse engineering process. The second section explains reverse engineering of applications, and the third section is a collection of real-world use-cases with solutions.
The first section introduces the basic concepts of a computing system and the data building blocks of the computing system. This section also includes open-source tools such as CFF Explorer, Ghidra, Cutter, and x32dbg. The second section goes over various reverse engineering practicals on various applications to give users hands-on experience. In the third section, reverse engineering of Wannacry ransomware, a well-known Windows application, and various exercises are demonstrated step by step.
What you will learn
● Understand different code calling conventions like CDECL, STDCALL, and FASTCALL with practical illustrations.
● Analyze and break WannaCry ransomware using Ghidra.
● Using Cutter, reconstruct application logic from the assembly code.
● Hack the Windows calculator to modify its behavior.
Who this book is for
This book is for cybersecurity researchers, bug bounty hunters, software developers, software testers, and software quality assurance experts who want to perform reverse engineering for advanced security from attacks. Interested readers can also be from high schools or universities (with a Computer Science background). Basic programming knowledge is helpful but not required.
Table of Contents
1. Impact of Reverse Engineering
2. Understanding Architecture of x86 machines
3. Up and Running with Reverse Engineering tools
4. Walkthrough on Assembly Instructions
5. Types of Code Calling Conventions
6. Reverse Engineering Pattern of Basic Code
7. Reverse Engineering Pattern of the printf() Program
8. Reverse Engineering Pattern of the Pointer Program
9. Reverse Engineering Pattern of the Decision Control Structure
10. Reverse Engineering Pattern of the Loop Control Structure
11. Array Code Pattern in Reverse Engineering
12. Structure Code Pattern in Reverse Engineering
13. Scanf Program Pattern in Reverse Engineering
14. strcpy Program Pattern in Reverse Engineering
15. Simple Interest Code Pattern in Reverse Engineering
16. Breaking Wannacry Ransomware with Reverse Engineering
17. Generate Pseudo Code from the Binary File
18. Fun with Windows Calculator Using Reverse Engineering