© The Author(s), under exclusive license to APress Media, LLC, part of Springer Nature 2023
D. VostokovFoundations of ARM64 Linux Debugging, Disassembling, and Reversinghttps://doi.org/10.1007/978-1-4842-9082-8_8

8. Reconstructing a Program with Pointers

Dmitry Vostokov1  
(1)
Dublin, Ireland
 

Example of Disassembly Output: No Optimization

The ability to reconstruct approximate C or C++ code from code disassembly is essential in memory dump analysis and debugging.

The project for this chapter can be downloaded from

github.com/apress/arm64-linux-debugging-disassembling-reversing/Chapter8/

We compile and link it, load executable into GDB, put a breakpoint on the main function, and run the program until GDB breaks in, then disassemble its main function:

Get Foundations of ARM64 Linux Debugging, Disassembling, and Reversing: Analyze Code, Understand Stack Memory Usage, and Reconstruct Original C/C++ Code with ARM64 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.