Book description
Detect potentials bugs in your code or program and develop your own tools using the Ghidra reverse engineering framework developed by the NSA project
Key Features
- Make the most of Ghidra on different platforms such as Linux, Windows, and macOS
- Leverage a variety of plug-ins and extensions to perform disassembly, assembly, decompilation, and scripting
- Discover how you can meet your cybersecurity needs by creating custom patches and tools
Book Description
Ghidra, an open source software reverse engineering (SRE) framework created by the NSA research directorate, enables users to analyze compiled code on any platform, whether Linux, Windows, or macOS. This book is a starting point for developers interested in leveraging Ghidra to create patches and extend tool capabilities to meet their cybersecurity needs.
You'll begin by installing Ghidra and exploring its features, and gradually learn how to automate reverse engineering tasks using Ghidra plug-ins. You’ll then see how to set up an environment to perform malware analysis using Ghidra and how to use it in the headless mode. As you progress, you’ll use Ghidra scripting to automate the task of identifying vulnerabilities in executable binaries. The book also covers advanced topics such as developing Ghidra plug-ins, developing your own GUI, incorporating new process architectures if needed, and contributing to the Ghidra project.
By the end of this Ghidra book, you’ll have developed the skills you need to harness the power of Ghidra for analyzing and avoiding potential vulnerabilities in code and networks.
What you will learn
- Get to grips with using Ghidra's features, plug-ins, and extensions
- Understand how you can contribute to Ghidra
- Focus on reverse engineering malware and perform binary auditing
- Automate reverse engineering tasks with Ghidra plug-ins
- Become well-versed with developing your own Ghidra extensions, scripts, and features
- Automate the task of looking for vulnerabilities in executable binaries using Ghidra scripting
- Find out how to use Ghidra in the headless mode
Who this book is for
This SRE book is for developers, software engineers, or any IT professional with some understanding of cybersecurity essentials. Prior knowledge of Java or Python, along with experience in programming or developing applications, is required before getting started with this book.
Table of contents
- Ghidra Software Reverse Engineering for Beginners
- Why subscribe?
- Contributors
- About the author
- About the reviewer
- Packt is searching for authors like you
- Preface
- Section 1: Introduction to Ghidra
- Chapter 1: Getting Started with Ghidra
- Chapter 2: Automating RE Tasks with Ghidra Scripts
- Chapter 3: Ghidra Debug Mode
- Chapter 4: Using Ghidra Extensions
- Section 2: Reverse Engineering
-
Chapter 5: Reversing Malware Using Ghidra
- Technical requirements
- Setting up the environment
- Looking for malware indicators
-
Dissecting interesting malware sample parts
- The entry point function
- Analyzing the 0x00453340 function
- Analyzing the 0x00453C10 function
- Analyzing the 0x0046EA60 function
- Analyzing the 0x0046BEB0 function
- Analyzing the 0x0046E3A0 function
- By analyzing this function, we notice that the pipe is used for some kind of synchronization. The CreateThread API function receives as parameters the function to execute as a thread and an argument to pass to the function; so, when a thread creation appears, we have to analyze a new function – in this case, lpStartAddress_00449049:
- Analyzing the 0x004559B0 function
- Analyzing the 0x004554E0 function
- Analyzing the 0x0046C860 function
- Analyzing the 0x0046A100 function
- Summary
- Questions
- Further reading
- Chapter 6: Scripting Malware Analysis
- Chapter 7: Using Ghidra Headless Analyzer
- Chapter 8: Auditing Program Binaries
- Chapter 9: Scripting Binary Audits
- Section 3: Extending Ghidra
- Chapter 10: Developing Ghidra Plugins
- Chapter 11: Incorporating New Binary Formats
- Chapter 12: Analyzing Processor Modules
- Chapter 13: Contributing to the Ghidra Community
- Chapter 14: Extending Ghidra for Advanced Reverse Engineering
- Assessments
- Other Books You May Enjoy
Product information
- Title: Ghidra Software Reverse Engineering for Beginners
- Author(s):
- Release date: January 2021
- Publisher(s): Packt Publishing
- ISBN: 9781800207974
You might also like
book
Reversing: Secrets of Reverse Engineering
Beginning with a basic primer on reverse engineering-including computer internals, operating systems, and assembly language-and then …
book
Mastering Reverse Engineering
Implement reverse engineering techniques to analyze software, exploit software targets, and defend against security threats like …
book
Practical Reverse Engineering: x86, x64, ARM, Windows Kernel, Reversing Tools, and Obfuscation
Analyzing how hacks are done, so as to stop them in the future Reverse engineering is …
book
Beginning x64 Assembly Programming: From Novice to AVX Professional
Program in assembly starting with simple and basic programs, all the way up to AVX programming. …