• Complain

Dmitry Vostokov - Foundations of ARM64 Linux Debugging, Disassembling, and Reversing: Analyze Code, Understand Stack Memory Usage, and Reconstruct Original C/C++ Code with ARM64

Here you can read online Dmitry Vostokov - Foundations of ARM64 Linux Debugging, Disassembling, and Reversing: Analyze Code, Understand Stack Memory Usage, and Reconstruct Original C/C++ Code with ARM64 full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. City: Berkeley, CA, year: 2023, publisher: Apress, genre: Computer. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Dmitry Vostokov Foundations of ARM64 Linux Debugging, Disassembling, and Reversing: Analyze Code, Understand Stack Memory Usage, and Reconstruct Original C/C++ Code with ARM64
  • Book:
    Foundations of ARM64 Linux Debugging, Disassembling, and Reversing: Analyze Code, Understand Stack Memory Usage, and Reconstruct Original C/C++ Code with ARM64
  • Author:
  • Publisher:
    Apress
  • Genre:
  • Year:
    2023
  • City:
    Berkeley, CA
  • Rating:
    3 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

Foundations of ARM64 Linux Debugging, Disassembling, and Reversing: Analyze Code, Understand Stack Memory Usage, and Reconstruct Original C/C++ Code with ARM64: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Foundations of ARM64 Linux Debugging, Disassembling, and Reversing: Analyze Code, Understand Stack Memory Usage, and Reconstruct Original C/C++ Code with ARM64" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Gain a solid understanding of how Linux C and C++ compilers generate binary code. This book explains the reversing and binary analysis of ARM64 architecture now used by major Linux cloud providers and covers topics ranging from writing programs in assembly language, live debugging, and static binary analysis of compiled C and C++ code. It is ideal for those working with embedded devices, including mobile phones and tablets.

Using the latest version of Red Hat, youll look closely at the foundations of diagnostics of core memory dumps, live and postmortem debugging of Linux applications, services, and systems. Youll also work with the GDB debugger and use it for disassembly and reversing. This book uses practical step-by-step exercises of increasing complexity with explanations and many diagrams, including some necessary background topics. In addition, you will be able to analyze such code confidently, understand stack memory usage, and reconstruct original C/C++ code.

And as youll see, memory forensics, malware, and vulnerability analysis, require an understanding of ARM64 assembly language and how C and C++ compilers generate code, including memory layout and pointers. This book provides the background knowledge and practical foundations youll need to understand internal Linux program structure and behavior.

Foundations of ARM64 Linux Debugging, Disassembling, and Reversing is the perfect companion to Foundations of Linux Debugging, Disassembling, and Reversing for readers interested in the cloud or cybersecurity.


What Youll Learn
  • Review the basics of ARM64 assembly language
  • Examine the essential GDB debugger commands for debugging and binary analysis
  • Study C and C++ compiler code generation with and without compiler optimizations
  • Look at binary code disassembly and reversing patterns
  • See how pointers in C and C++ are implemented and used
Who This Book Is For

Software support and escalation engineers, cloud security engineers, site reliability engineers, DevSecOps, platform engineers, software testers, Linux C/C++ software engineers and security researchers without ARM64 assembly language background, and beginners learning Linux software reverse engineering techniques.

Dmitry Vostokov: author's other books


Who wrote Foundations of ARM64 Linux Debugging, Disassembling, and Reversing: Analyze Code, Understand Stack Memory Usage, and Reconstruct Original C/C++ Code with ARM64? Find out the surname, the name of the author of the book and a list of all author's works by series.

Foundations of ARM64 Linux Debugging, Disassembling, and Reversing: Analyze Code, Understand Stack Memory Usage, and Reconstruct Original C/C++ Code with ARM64 — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Foundations of ARM64 Linux Debugging, Disassembling, and Reversing: Analyze Code, Understand Stack Memory Usage, and Reconstruct Original C/C++ Code with ARM64" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Contents
Landmarks
Book cover of Foundations of ARM64 Linux Debugging Disassembling and - photo 1
Book cover of Foundations of ARM64 Linux Debugging, Disassembling, and Reversing
Dmitry Vostokov
Foundations of ARM64 Linux Debugging, Disassembling, and Reversing
Analyze Code, Understand Stack Memory Usage, and Reconstruct Original C/C++ Code with ARM64
The Apress logo Dmitry Vostokov Dublin Ireland ISBN 978-1-4842-9081-1 - photo 2

The Apress logo.

Dmitry Vostokov
Dublin, Ireland
ISBN 978-1-4842-9081-1 e-ISBN 978-1-4842-9082-8
https://doi.org/10.1007/978-1-4842-9082-8
Dmitry Vostokov 2023
Apress Stanard
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

This Apress imprint is published by the registered company APress Media, LLC, part of Springer Nature.

The registered company address is: 1 New York Plaza, New York, NY 10004, U.S.A.

Preface

The book covers topics ranging from ARM64 assembly language instructions and writing programs in assembly language to pointers, live debugging, and static binary analysis of compiled C and C++ code.

Diagnostics of core memory dumps, live and postmortem debugging of Linux applications, services, and systems, memory forensics, malware, and vulnerability analysis require an understanding of ARM64 assembly language and how C and C++ compilers generate code, including memory layout and pointers. This book is about background knowledge and practical foundations that are needed to understand internal Linux program structure and behavior, start working with the GDB debugger, and use it for disassembly and reversing. It consists of practical step-by-step exercises of increasing complexity with explanations and many diagrams, including some necessary background topics.

By the end of the book, you will have a solid understanding of how Linux C and C++ compilers generate binary code. In addition, you will be able to analyze such code confidently, understand stack memory usage, and reconstruct original C/C++ code.

The book will be useful for
  • Software support and escalation engineers, cloud security engineers, SRE, and DevSecOps

  • Software engineers coming from JVM background

  • Software testers

  • Engineers coming from non-Linux environments, for example, Windows or Mac OS X

  • Engineers coming from non-ARM environments, for example, x86/x64

  • Linux C/C++ software engineers without assembly language background

  • Security researchers without assembly language background

  • Beginners learning Linux software reverse engineering techniques

This book can also be used as an ARM64 assembly language and Linux debugging supplement for relevant undergraduate-level courses.

Source Code

All source code used in this book can be downloaded from github.com/apress/arm64-linux-debugging-disassembling-reversing.

Any source code or other supplementary material referenced by the author in this book is available to readers on GitHub (https://github.com/Apress). For more detailed information, please visit http://www.apress.com/source-code.

Table of Contents
About the Author
Dmitry Vostokov
A photo of Dmitry Vostokov is an internationally recognized expert speaker - photo 3

A photo of Dmitry Vostokov.

is an internationally recognized expert, speaker, educator, scientist, and author. He is the founder of the pattern-oriented software diagnostics, forensics, and prognostics discipline and Software Diagnostics Institute (DA+TA: DumpAnalysis.org + TraceAnalysis.org). Vostokov has also authored more than 50 books on software diagnostics, anomaly detection and analysis, software and memory forensics, root cause analysis and problem solving, memory dump analysis, debugging, software trace and log analysis, reverse engineering, and malware analysis. He has more than 25 years of experience in software architecture, design, development, and maintenance in various industries, including leadership, technical, and people management roles. Dmitry also founded Syndromatix, Anolog.io, BriteTrace, DiaThings, Logtellect, OpenTask Iterative and Incremental Publishing (OpenTask.com), Software Diagnostics Technology and Services (former Memory Dump Analysis Services; PatternDiagnostics.com), and Software Prognostics. In his spare time, he presents various topics on Debugging TV and explores Software Narratology, its further development as Narratology of Things and Diagnostics of Things (DoT), Software Pathology, and Quantum Software Diagnostics. His current areas of interest are theoretical software diagnostics and its mathematical and computer science foundations, application of formal logic, artificial intelligence, machine learning and data mining to diagnostics and anomaly detection, software diagnostics engineering and diagnostics-driven development, and diagnostics workflow and interaction. Recent areas of interest also include cloud native computing, security, automation, functional programming, and applications of category theory to software development and big data.
About the Technical Reviewer
Sundar Pandian
A photo of Sundar Pandian has more than three years of experience in embedded - photo 4

A photo of Sundar Pandian.

has more than three years of experience in embedded software development, including development of device drivers, middleware software, and application services for the infotainment system on the Android platform. Hes also developed CAN protocol drivers for the automotive braking system on the Autosar platform.

Hes developed software with C, C++, and Java and worked in the automotive, semiconductor, and telecom industries. He has a bachelors in electronics and communication engineering. Currently, he serves as a firmware/middleware engineer for audio DSPs.

The Author(s), under exclusive license to APress Media, LLC, part of Springer Nature 2023
D. Vostokov Foundations of ARM64 Linux Debugging, Disassembling, and Reversing https://doi.org/10.1007/978-1-4842-9082-8_1
1. Memory, Registers, and Simple Arithmetic
Dmitry Vostokov
(1)
Dublin, Ireland
Memory and Registers Inside an Idealized Computer
Computer memory consists of a sequence of memory cells, and each cell has a unique address (location). Every cell contains a number. We refer to these numbers as contents at addresses (locations). Because memory access is slower than arithmetic instructions, there are so-called registers to speed up complex operations that require memory to store temporary results. We can also think about them as stand-alone memory cells. The name of a register is its address. Figure illustrates this.
Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Foundations of ARM64 Linux Debugging, Disassembling, and Reversing: Analyze Code, Understand Stack Memory Usage, and Reconstruct Original C/C++ Code with ARM64»

Look at similar books to Foundations of ARM64 Linux Debugging, Disassembling, and Reversing: Analyze Code, Understand Stack Memory Usage, and Reconstruct Original C/C++ Code with ARM64. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Foundations of ARM64 Linux Debugging, Disassembling, and Reversing: Analyze Code, Understand Stack Memory Usage, and Reconstruct Original C/C++ Code with ARM64»

Discussion, reviews of the book Foundations of ARM64 Linux Debugging, Disassembling, and Reversing: Analyze Code, Understand Stack Memory Usage, and Reconstruct Original C/C++ Code with ARM64 and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.