Description: Chapter 1 - A64.1: Memory, Registers, and Simple Arithmetic11 Memory and Registers inside an Idealized Computer11Memory and Registers inside ARM 64-bit Computer12"Arithmetic" Project: Memory Layout and Registers13"Arithmetic" Project: A Computer Program14"Arithmetic" Project: Assigning Numbers to Memory Locations15Assigning Numbers to Registers18"Arithmetic" Project: Adding Numbers to Memory Cells19Incrementing/Decrementing Numbers in Memory and Registers22Multiplying Numbers25 Chapter 2 - A64.2: Code Optimization29"Arithmetic" Project: C/C++ Program29Downloading GDB31GDB Disassembly Output - No Optimization32GDB Disassembly Output - Optimization37 Chapter 3 - A64.3: Number Representations39Numbers and Their Representations39Decimal Representation (Base Ten)40Ternary Representation (Base Three)41Binary Representation (Base Two)42Hexadecimal Representation (Base Sixteen)43Why are Hexadecimals Used?44 Chapter 4 - A64.4: Pointers47A Definition47"Pointers" Project: Memory Layout and Registers48"Pointers" Project: Calculations50Using Pointers to Assign Numbers to Memory Cells51Adding Numbers Using Pointers58Incrementing Numbers Using Pointers62Multiplying Numbers Using Pointers65 Chapter 5 - A64.5: Bytes, Half Words, Words, and Double Words69Using Hexadecimal Numbers69Byte Granularity70Bit Granularity71Memory Layout72 Chapter 6 - A64.6: Pointers to Memory75Pointers Revisited75Addressing Types76Registers Revisited81NULL Pointers82Invalid Pointers83Variables as Pointers84Pointer Initialization85Initialized and Uninitialized Data86More Pseudo Notation87"MemoryPointers" Project: Memory Layout88 Chapter 7 - A64.7: Logical Instructions and PC99Instruction Format99Logical Shift Instructions100Logical Operations101Zeroing Memory or Registers102Instruction Pointer103Code Section105 Chapter 8 - A64.8: Reconstructing a Program with Pointers107Example of Disassembly Output: No Optimization107Reconstructing C/C++ Code: Part 1110Reconstructing C/C++ Code: Part 2112Reconstructing C/C++ Code: Part 3114Reconstructing C/C++ Code: C/C++ program116Example of Disassembly Output: Optimized Program117 Chapter 9 - A64.9: Memory and Stacks119Stack: A Definition119Stack Implementation in Memory120Things to Remember122Stack Push Implementation123Stack Pop Implementation124Register Review125Application Memory Simplified126Stack Overflow127Jumps128Calls130Call Stack131Exploring Stack in GDB133 Chapter 10 - A64.10: Frame Pointer and Local Variables137Stack Usage137Register Review138Addressing Array Elements139Stack Structure (No Function Parameters)140Function Prolog141Raw Stack (No Local Variables and Function Parameters)142Function Epilog144"Local Variables" Project145Disassembly of Optimized Executable148 Chapter 11- A64.11: Function Parameters149"FunctionParameters" Project149Stack Structure150Function Prolog and Epilog152Project Disassembled Code with Comments154Parameter Mismatch Problem158 Chapter 12 - A64.12: More Instructions159PSTATE Flags159Testing for 0160TST - Logical Compare161CMP - Compare Two Operands162TST or CMP?163Conditional Jumps164Function Return Value165 Chapter 13 - A64.13: Function Pointer Parameters167"FunctionPointerParameters" Project167Commented Disassembly168 Chapter 14 - A64.14: Summary of Code Disassembly Patterns173Function Prolog / Epilog173ADR (Address)174Passing Parameters175Accessing Saved Parameters and Local Variables176
Price: 47.79 USD
Location: East Hanover, New Jersey
End Time: 2024-11-20T13:27:11.000Z
Shipping Cost: 0 USD
Product Images
Item Specifics
Return shipping will be paid by: Buyer
All returns accepted: Returns Accepted
Item must be returned within: 60 Days
Refund will be given as: Money Back
Return policy details:
EAN: 9781484290811
UPC: 9781484290811
ISBN: 9781484290811
MPN: N/A
Book Title: Foundations of ARM64 Linux Debugging, Disassemblin
Item Height: 1 cm
Number of Pages: Xiv, 170 Pages
Language: English
Publication Name: Foundations of ARM64 Linux Debugging, Disassembling, and Reversing : Analyze Code, Understand Stack Memory Usage, and Reconstruct Original C/C++ Code with ARM64
Publisher: Apress L. P.
Publication Year: 2023
Subject: Operating Systems / General, Programming / Open Source
Item Weight: 10.3 Oz
Type: Textbook
Subject Area: Computers
Author: Dmitry Vostokov
Item Length: 9.3 in
Item Width: 6.1 in
Format: Trade Paperback