Book Description
More practical less theory KEY FEATURES ● 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. DESCRIPTION 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. In a very detailed and step-by-step manner, you will practice and understand different assembly instructions, types of code calling conventions, assembly patterns of applications with the printf function, pointers, array, structure, scanf, strcpy function, decision, and loop control structures. You will learn how to use open-source tools for reverse engineering such as portable executable editors, disassemblers, and debuggers. 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