Foundations of Linux Debugging, Disassembling, and Reversing: Analyze Binary Code, Understand Stack Memory Usage, and Reconstruct C/C++ Code with Inte
暫譯: Linux 除錯、反組譯與逆向工程基礎:分析二進位碼、理解堆疊記憶體使用及重建 C/C++ 代碼
Vostokov, Dmitry
相關主題
商品描述
Review topics ranging from Intel x64 assembly language instructions and writing programs in assembly language, to pointers, live debugging, and static binary analysis of compiled C and C++ code. This book is ideal for Linux desktop and cloud developers.
Using the latest version of Debian, you'll focus on the foundations of the diagnostics of core memory dumps, live and postmortem debugging of Linux applications, services, and systems, memory forensics, malware, and vulnerability analysis. This requires an understanding of x64 Intel assembly language and how C and C++ compilers generate code, including memory layout and pointers.
This book provides the back-ground knowledge and practical foundations you'll need in order to master internal Linux program structure and behavior. It consists of practical step-by-step exercises of increasing complexity with explanations and ample diagrams. You'll also work with the GDB debugger and use it for disassembly and reversing.
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. Foundations of Linux Debugging, Disassembling, and Reversing is the perfect companion to Foundations of ARM64 Linux Debugging, Disassembling, and Reversing for readers interested in the cloud or cybersecurity.
What You'll Learn
- Review the basics of x64 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 Intel x64 assembly language background, beginners learning Linux software reverse engineering techniques, and engineers coming from non-Linux environments.
商品描述(中文翻譯)
回顧主題涵蓋從 Intel x64 組合語言指令和編寫組合語言程式,到指標、即時除錯以及編譯的 C 和 C++ 代碼的靜態二進位分析。本書非常適合 Linux 桌面和雲端開發人員。
使用最新版本的 Debian,您將專注於核心記憶體轉儲的診斷基礎、Linux 應用程式、服務和系統的即時及死後除錯、記憶體取證、惡意軟體和漏洞分析。這需要對 x64 Intel 組合語言的理解,以及 C 和 C++ 編譯器如何生成代碼的知識,包括記憶體佈局和指標。
本書提供您掌握 Linux 內部程式結構和行為所需的背景知識和實用基礎。它包含逐步的實踐練習,隨著複雜度的增加,並附有解釋和豐富的圖示。您還將使用 GDB 除錯器,並利用它進行反組譯和逆向工程。
在本書結束時,您將對 Linux C 和 C++ 編譯器如何生成二進位代碼有堅實的理解。此外,您將能夠自信地分析這些代碼,理解堆疊記憶體的使用,並重建原始的 C/C++ 代碼。《Linux 除錯、反組譯和逆向工程基礎》是對於有興趣於雲端或網路安全的讀者來說,與《ARM64 Linux 除錯、反組譯和逆向工程基礎》的完美伴侶。
您將學到的內容:
- 回顧 x64 組合語言的基本知識
- 檢視 GDB 除錯器的基本命令,用於除錯和二進位分析
- 研究 C 和 C++ 編譯器的代碼生成,包括和不包括編譯器優化
- 觀察二進位代碼的反組譯和逆向模式
- 了解 C 和 C++ 中指標的實現和使用方式
本書適合的對象:
軟體支援和升級工程師、雲端安全工程師、網站可靠性工程師、DevSecOps、平台工程師、軟體測試人員、Linux C/C++ 軟體工程師及沒有 Intel x64 組合語言背景的安全研究人員、學習 Linux 軟體逆向工程技術的初學者,以及來自非 Linux 環境的工程師。
作者簡介
Dmitry Vostokov is an internationally recognized expert, speaker, educator, scientist, inventor, and author. He is the founder of the pattern-oriented software diagnostics, forensics, and prognostics discipline (Systematic Software Diagnostics), and Software Diagnostics Institute (DA+TA: DumpAnalysis.org + TraceAnalysis.org). Vostokov has also authored 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 over 25 years of experience in software architecture, design, development, and maintenance in various industries, including leadership, technical, and people management roles. 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 interest areas 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, diagnostics workflow, and interaction. Recent interest areas also include cloud native computing, security, automation, functional programming, and applications of category theory to software development and big data. He is based out of Dublin, Ireland.
作者簡介(中文翻譯)
德米特里·沃斯托科夫(Dmitry Vostokov)是一位國際公認的專家、演講者、教育者、科學家、發明家和作者。他是以模式為導向的軟體診斷、取證和預測學科(系統化軟體診斷)及軟體診斷研究所(DA+TA: DumpAnalysis.org + TraceAnalysis.org)的創始人。沃斯托科夫還撰寫了有關軟體診斷、異常檢測與分析、軟體與記憶體取證、根本原因分析與問題解決、記憶體轉儲分析、除錯、軟體追蹤與日誌分析、逆向工程以及惡意程式分析的書籍。他在各行各業擁有超過25年的軟體架構、設計、開發和維護經驗,包括領導、技術和人員管理角色。在空閒時間,他在Debugging.TV上介紹各種主題,並探索軟體敘事學(Software Narratology)、其進一步發展為物的敘事學(Narratology of Things)和物的診斷(Diagnostics of Things, DoT)、軟體病理學(Software Pathology)以及量子軟體診斷(Quantum Software Diagnostics)。他目前的興趣領域包括理論軟體診斷及其數學和計算機科學基礎、形式邏輯的應用、人工智慧、機器學習和數據挖掘在診斷和異常檢測中的應用、軟體診斷工程和以診斷為驅動的開發、診斷工作流程和互動。最近的興趣領域還包括雲原生計算、安全性、自動化、函數式編程,以及範疇理論在軟體開發和大數據中的應用。他目前居住在愛爾蘭都柏林。