دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: [1 ed.]
نویسندگان: Dmitry Vostokov
سری:
ISBN (شابک) : 1484291522, 9781484291535
ناشر: Apress
سال نشر: 2023
تعداد صفحات: 187
[181]
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 3 Mb
در صورت تبدیل فایل کتاب Foundations of Linux Debugging, Disassembling, and Reversing: Analyze Binary Code, Understand Stack Memory Usage, and Reconstruct C/C++ Code with Intel x64 به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب مبانی اشکال زدایی، جداسازی و معکوس کردن لینوکس: تجزیه و تحلیل کد باینری، درک استفاده از حافظه پشته و بازسازی کد C/C++ با Intel x64 نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
موضوعات مختلف از دستورالعمل های زبان اسمبلی x64 اینتل و نوشتن برنامه ها به زبان اسمبلی گرفته تا اشاره گرها، اشکال زدایی زنده و تجزیه و تحلیل باینری استاتیک کدهای C و C کامپایل شده را مرور کنید. این کتاب برای توسعه دهندگان دسکتاپ و ابر لینوکس ایده آل است. با استفاده از آخرین نسخه دبیان، شما بر روی مبانی تشخیص حافظه هستهای، اشکالزدایی زنده و پس از مرگ برنامهها، سرویسها و سیستمهای لینوکس، پزشکی قانونی حافظه، بدافزارها و تجزیه و تحلیل آسیبپذیری تمرکز خواهید کرد. این امر مستلزم درک زبان اسمبلی x64 اینتل و نحوه تولید کدهای کامپایلرهای C و C از جمله چیدمان حافظه و اشاره گرها است. این کتاب دانش پس زمینه و مبانی عملی مورد نیاز برای تسلط بر ساختار و رفتار برنامه داخلی لینوکس را ارائه می دهد. این شامل تمرینات عملی گام به گام افزایش پیچیدگی با توضیحات و نمودارهای فراوان است. شما همچنین با دیباگر GDB کار خواهید کرد و از آن برای جداسازی و معکوس کردن استفاده خواهید کرد. در پایان کتاب، درک کاملی از نحوه تولید کد باینری کامپایلرهای لینوکس C و C خواهید داشت. علاوه بر این، شما قادر خواهید بود چنین کدهایی را با اطمینان تجزیه و تحلیل کنید، استفاده از حافظه پشته را درک کنید و کد C/C اصلی را بازسازی کنید. مبانی اشکال زدایی، جداسازی و معکوس کردن لینوکس همراه کاملی برای اشکال زدایی، جداسازی و معکوس کردن لینوکس ARM64 برای خوانندگان علاقه مند به فضای ابری یا امنیت سایبری است. آنچه خواهید آموخت مروری بر اصول زبان اسمبلی x64 دستورات ضروری دیباگر GDB برای اشکال زدایی و تجزیه و تحلیل باینری را بررسی کنید. C پیاده سازی و استفاده می شود Who This Book Is For Software پشتیبانی و مهندسین تشدید، مهندسین امنیت ابر، مهندسین قابلیت اطمینان سایت، DevSecOps، مهندسین پلتفرم، آزمایش کنندگان نرم افزار، مهندسین نرم افزار Linux C/C و محققان امنیتی بدون پیش زمینه زبان اسمبلی Intel x64، یادگیری مبتدیان تکنیک های مهندسی معکوس نرم افزار لینوکس و مهندسانی که از محیط های غیر لینوکس می آیند.
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 background 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.
Table of Contents About the Author About the Technical Reviewer Preface Chapter 1: Memory, Registers, and Simple Arithmetic Memory and Registers Inside an Idealized Computer Memory and Registers Inside Intel 64-Bit PC “Arithmetic” Project: Memory Layout and Registers “Arithmetic” Project: A Computer Program “Arithmetic” Project: Assigning Numbers to Memory Locations Assigning Numbers to Registers “Arithmetic” Project: Adding Numbers to Memory Cells Incrementing/Decrementing Numbers in Memory and Registers Multiplying Numbers Summary Chapter 2: Code Optimization “Arithmetic” Project: C/C++ Program Downloading GDB GDB Disassembly Output – No Optimization GDB Disassembly Output – Optimization Summary Chapter 3: Number Representations Numbers and Their Representations Decimal Representation (Base Ten) Ternary Representation (Base Three) Binary Representation (Base Two) Hexadecimal Representation (Base Sixteen) Why Are Hexadecimals Used? Summary Chapter 4: Pointers A Definition “Pointers” Project: Memory Layout and Registers “Pointers” Project: Calculations Using Pointers to Assign Numbers to Memory Cells Adding Numbers Using Pointers Incrementing Numbers Using Pointers Multiplying Numbers Using Pointers Summary Chapter 5: Bytes, Words, Double, and Quad Words Using Hexadecimal Numbers Byte Granularity Bit Granularity Memory Layout Summary Chapter 6: Pointers to Memory Pointers Revisited Addressing Types Registers Revisited NULL Pointers Invalid Pointers Variables As Pointers Pointer Initialization Initialized and Uninitialized Data More Pseudo Notation “MemoryPointers” Project: Memory Layout Summary Chapter 7: Logical Instructions and RIP Instruction Format Logical Shift Instructions Logical Operations Zeroing Memory or Registers Instruction Pointer Code Section Summary Chapter 8: Reconstructing a Program with Pointers Example of Disassembly Output: No Optimization Reconstructing C/C++ Code: Part 1 Reconstructing C/C++ Code: Part 2 Reconstructing C/C++ Code: Part 3 Reconstructing C/C++ Code: C/C++ Program Example of Disassembly Output: Optimized Program Summary Chapter 9: Memory and Stacks Stack: A Definition Stack Implementation in Memory Things to Remember PUSH Instruction POP Instruction Register Review Application Memory Simplified Stack Overflow Jumps Calls Call Stack Exploring Stack in GDB Summary Chapter 10: Frame Pointer and Local Variables Stack Usage Register Review Addressing Array Elements Stack Structure (No Function Parameters) Function Prolog Raw Stack (No Local Variables and Function Parameters) Function Epilog “Local Variables” Project Disassembly of Optimized Executable Summary Chapter 11: Function Parameters “FunctionParameters” Project Stack Structure Function Prolog and Epilog Project Disassembled Code with Comments Parameter Mismatch Problem Summary Chapter 12: More Instructions CPU Flags Register The Fast Way to Fill Memory Testing for 0 TEST – Logical Compare CMP – Compare Two Operands TEST or CMP? Conditional Jumps The Structure of Registers Function Return Value Using Byte Registers Summary Chapter 13: Function Pointer Parameters “FunctionPointerParameters” Project Commented Disassembly Summary Chapter 14: Summary of Code Disassembly Patterns Function Prolog/Epilog LEA (Load Effective Address) Passing Parameters Accessing Parameters and Local Variables Summary Index