Summary
In this chapter, you learned how to use Ghidra to automatically audit program binaries to hunt for bugs on them. We started scripting to look for vulnerable functions in the symbols table, then we continued by looking for the callers of those functions, and, finally, we analyzed the caller functions to determine whether those functions are vulnerable or not.
You learned how to script a binary auditing process using Ghidra and how to do so using PCode and its benefits. You also learned why PCode cannot entirely substitute for assembly language in manual analysis.
In the next chapter of this book, we will cover how to extend Ghidra using plugins. We mentioned this in Chapter 4, Using Ghidra Extensions, but this topic deserves special mention because it allows you to deeply extend Ghidra in a powerful way.