Chapter 12: Dynamic Reverse Engineering

In this chapter, we are going to look at dynamic reverse engineering. The first question is what is dynamic reverse engineering and how does it compare with static reverse engineering? What are the advantages and requirements of dynamic engineering? And how can you interact with a program that is executing on the chip while it is executing, look at (and change) memory content, alter the execution flow, step through the program instructions, and more?

We will cover the following topics in this chapter:

  • What is dynamic reverse engineering and why do it?
  • Leveraging OpenOCD and GDB
  • ARM assembly – a primer
  • The usefulness of dynamic reverse engineering – an example

Technical requirements

We will pretty much ...

Get Practical Hardware Pentesting now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.