Share E-Book
Scan to open this page

Scan with your phone to open this page

Author: Kara Nance, Chris Eagle

Rating No ratings yet

A guide to using the Ghidra software reverse engineering tool suite. --- DANCE WITH THE DRAGON --- The result of more than a decade of research and development within the NSA, the Ghidra platform was developed to address some of the agency’s most challenging reverse-engineering problems. With the open-source release of this formerly restricted tool suite, one of the world’s most capable disassemblers and intuitive decompilers is now in the hands of cybersecurity defenders everywhere—and The Ghidra Book, 2nd edition, is the one and only guide you need to master it. --- In addition to discussing RE techniques useful in analyzing software and malware of all kinds, the book thoroughly introduces Ghidra’s components, features, and unique capacity for group collaboration. --- You’ll learn how to: Navigate a disassembly Use Ghidra’s built-in decompiler to expedite analysis Analyze obfuscated binaries Extend Ghidra to recognize new data types Build new Ghidra analyzers and loaders Add support for new processors and instruction sets Script Ghidra tasks to automate workflows Set up and use a collaborative reverse engineering environment --- Designed for beginner and advanced users alike, The Ghidra Book, 2nd edition, will effectively prepare you to meet the needs and challenges of RE, so you can analyze files like a pro. --- New to this edition: This updated edition reflects the continued evolution of the open source project and brings readers up to speed with expanded real-world examples, new tools like PyGhidra and BSim, enhanced debugger capabilities, and seamless IDE integration. Clear, practical examples are woven into every chapter, helping you leverage Ghidra’s growing ecosystem and modern development environments to their fullest potential.

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
【One-Line Pitch】 A hands-on field manual for learning software reverse engineering with Ghidra, from first disassembly to custom loaders, scripting, and collaborative malware analysis. Best suited to security analysts, malware researchers, and curious programmers who want both the analyst's mindset and practical tool mastery. 【Book Arc】 - **Opening (~0%–15%)**: Frames why reverse engineering matters (malware analysis, vulnerability research, interoperability, compiler validation) and explains disassembly theory, including linear sweep versus recursive descent, before introducing Ghidra's licensing, installation, and directory layout. - **Early (~15%–30%)**: Moves from general RE tooling—file classifiers, symbol/summary utilities, strings, and disassemblers—into Ghidra itself: creating projects, loading files (including raw binaries), running auto-analysis, and getting comfortable with the desktop. - **Middle (~30%–55%)**: Teaches reading and refining a disassembly: navigation, names and labels, stack frames, calling conventions, ABIs, cross-references, graph views, data types and structures, comments, and code transformations. - **Late (~55%–80%)**: Shifts to customization and extension: collaborative Ghidra use, UI customization, extending Ghidra's worldview, basic scripting with Ghidra and PyGhidra, Eclipse/GhidraDev integration, and headless operation. - **Ending (~80%–100%)**: A deeper dive into loaders, processors, the decompiler, and compiler variations, followed by real-world applications—obfuscation and emulation, binary patching, BSim and comparison tools—plus an appendix for IDA users. 【Book Arc】 - **Opening (~0%–15%)**: Establishes the conceptual foundation—what disassembly is, why analysts do it, and how disassemblers work—then gets Ghidra installed and running. - **Early (~15%–30%)**: Builds tool fluency: classifying and inspecting binaries with standard utilities, then loading and auto-analyzing files in Ghidra. - **Middle (~30%–55%)**: Develops the core analyst skill of making sense of a disassembly through navigation, stack-frame understanding, cross-references, data typing, and annotation. - **Late (~55%–80%)**: Turns Ghidra from a viewer into a platform through collaboration, customization, scripting, IDE integration, and headless automation. - **Ending (~80%–100%)**: Covers advanced internals (loaders, processors, decompiler, compiler variations) and applies everything to obfuscation, patching, and binary comparison. 【Key Takeaways】 - **Reverse engineering is a mindset, not just a tool skill** (Opening): The book grounds Ghidra use in disassembly theory and real motivations like malware and vulnerability analysis, so readers understand what they are looking at rather than only which buttons to press. - **Disassembly strategy matters** (Opening): Linear sweep and recursive descent approaches have different trade-offs; knowing them helps explain why Ghidra's output looks the way it does and when manual correction is needed. - **Ghidra's workflow starts with project and loader choices** (Early): Creating projects, loading files, and running auto-analysis—including the raw binary loader—are the gateways to productive analysis. - **Reading a disassembly requires stack and calling-convention literacy** (Middle): Stack frames, calling conventions, ABIs, and local variable layout are treated as essential knowledge for interpreting function behavior correctly. - **Annotation is analysis** (Middle): Renaming labels and variables, adding comments, converting data to code, and applying data types are presented as core techniques for refining understanding, not cosmetic extras. - **Ghidra is extensible by design** (Late): Customizing the UI, extending its worldview, and writing scripts with Ghidra and PyGhidra let analysts automate repetitive work and adapt the tool to new targets. - **Collaboration and automation are first-class features** (Late): Shared reverse-engineering environments, Eclipse/GhidraDev integration, and headless mode support team workflows and batch processing. - **Advanced targets demand deeper Ghidra knowledge** (Ending): Loaders, processors, the decompiler, and compiler variations are covered for analysts facing unusual binaries, while obfuscation, patching, and BSim comparison tools address real-world scenarios. 【Reading Tips】 - **Deep-read Parts I–II if you are new to RE**: The disassembly theory and basic Ghidra usage chapters build the foundation everything else depends on; skipping them makes later chapters harder. - **Skim the tool survey if you already know standard RE utilities**: The classification and summary tool chapters are useful reference but can be revisited as needed. - **Treat scripting and extension chapters as hands-on labs**: PyGhidra, GhidraDev, headless mode, loaders, and processors are best learned by building something small rather than reading passively. - **Use the IDA appendix as a bridge**: If you come from IDA Pro, start there to map familiar concepts onto Ghidra terminology. - **Keep the book nearby during real analysis**: The middle chapters on navigation, cross-references, and data types work well as a checklist when you are stuck in a disassembly. 【Coverage Limits】 This guide is based on stratified excerpts that include the front matter, table of contents, and chapter structure, but not the full chapter text; specific examples, code listings, and detailed walkthroughs are therefore not summarized here.
Excerpt 1
odern development environments to their fullest potential. K A R A N A N C E A N D C H R I S E A G L E T H E G H I D R A B O O K T H E D E F I N I T I V E G...
View in text
Page 11
Ghidra’s Data Displays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Chapter 6: Making Sense of a Disassembly . . ....
View in text
Page 14
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Downloading Ghidra . . . . . . . . . . . . . . . . . . . . . . . . . . ....
View in text
Page 11
. . . 101 Local Variable Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Ghidra’s Stack Fr...
View in text
Page 16
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Name Mangling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....
View in text
Page 17
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 Saving the CodeBrowser Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....
View in text
Page 19
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 Step 1: Launching Ghidra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....
View in text
Page 20
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 Step 2: Researching the ELF Header Format . . . . . . . . . . . . . . . . . . . . . . . . . ....
View in text
Tags
AI categories
CybersecuritySoftwareProgramming
ISBN: 1718504683
Publish Year: 2026
Language: English
Pages: 635
File Format: PDF
File Size: 17.4 MB
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Generating text preview…