مجله علمی تفریحی بیبیس
0

دانلود کتاب تجزیه و تحلیل عملی باینری – ابزارهای لینوکس خود را برای ابزار دقیق، تجزیه و تحلیل و جداسازی باینری بسازید

بازدید 916
  • عنوان: PRACTICAL BINARY ANALYSIS / Build Your Own Linux Tools for Binary Instrumentation, Analysis, and Disassembly
  • نویسنده: Dennis Andriesse
  • حوزه: مهندسی معکوس
  • سال انتشار: 2019
  • تعداد صفحه: 449
  • زبان اصلی: انگلیسی
  • نوع فایل: pdf
  • حجم فایل: 15.8 مگابایت

اکثریت قریب به اتفاق برنامه‌های رایانه‌ای به زبان‌های سطح بالا مانند C یا C++ نوشته شده‌اند که رایانه‌ها نمی‌توانند مستقیماً آن‌ها را اجرا کنند. قبل از اینکه بتوانید از این برنامه ها استفاده کنید، ابتدا باید آنها را در فایل های اجرایی باینری حاوی کد ماشین که کامپیوتر می تواند اجرا کند، کامپایل کنید. اما چگونه می دانید که برنامه کامپایل شده دارای همان معنایی است که منبع سطح بالاست؟ پاسخ نگران کننده این است که شما این کار را نمی کنید! شکاف معنایی بزرگی بین زبان‌های سطح بالا و کد ماشین باینری وجود دارد که افراد زیادی نمی‌دانند چگونه آن را پر کنند. حتی اکثر برنامه نویسان دانش محدودی در مورد نحوه عملکرد برنامه هایشان در پایین ترین سطح دارند، و آنها به سادگی اعتماد دارند که برنامه کامپایل شده به اهداف آنها صادق است. در نتیجه، بسیاری از اشکالات کامپایلر، خطاهای ظریف پیاده سازی، درهای پشتی سطح دودویی و انگل های مخرب می توانند مورد توجه قرار نگیرند. بدتر از همه، برنامه‌ها و کتابخانه‌های باینری بی‌شماری وجود دارد – در صنعت، در بانک‌ها، در سیستم‌های تعبیه‌شده – که کد منبع برای مدت‌ها گم شده یا اختصاصی است. این بدان معناست که اصلاح آن برنامه ها و کتابخانه ها یا ارزیابی امنیت آنها در سطح منبع با استفاده از روش های مرسوم غیرممکن است. این یک مشکل واقعی حتی برای شرکت‌های بزرگ نرم‌افزاری است، همانطور که مایکروسافت اخیراً یک وصله باینری دست‌ساخته پر زحمت برای سرریز بافر در برنامه Equation Editor خود، که بخشی از مجموعه Microsoft Office است، نشان می‌دهد. در این کتاب، نحوه تجزیه و تحلیل و حتی اصلاح برنامه ها در سطح باینری را خواهید آموخت. چه یک هکر، یک محقق امنیتی، یک تحلیلگر بدافزار، یک برنامه نویس یا به سادگی علاقه مند باشید، این تکنیک ها به شما کنترل و بینش بیشتری در مورد برنامه های باینری که هر روز ایجاد و استفاده می کنید، می دهد. تجزیه و تحلیل باینری علم و هنر تجزیه و تحلیل ویژگی های برنامه های کامپیوتری باینری است که باینری نامیده می شوند و کد ماشین و داده های موجود در آنها. به طور خلاصه، هدف تمام تحلیل‌های باینری کشف (و احتمالاً اصلاح) ویژگی‌های واقعی برنامه‌های باینری است – به عبارت دیگر، آنچه واقعاً انجام می‌دهند برخلاف آنچه ما فکر می‌کنیم بسیاری از مردم آنالیز باینری را با مهندسی معکوس و جداسازی قطعات مرتبط می‌دانند. ، و حداقل تا حدی درست هستند. جداسازی مونتاژ اولین گام مهم در بسیاری از اشکال تجزیه و تحلیل باینری است و مهندسی معکوس یک کاربرد رایج از تجزیه و تحلیل باینری است و اغلب تنها راه برای مستندسازی رفتار نرم افزارهای اختصاصی یا بدافزار است. با این حال، حوزه تحلیل باینری بسیار بیشتر از این را در بر می گیرد.

The vast majority of computer programs are written in highlevel languages like C or C++, which computers can’t run directly. Before you can use these programs, you must first compile them into binary executables containing machine code that the computer can run. But how do you know that the compiled program has the same semantics as the highlevel source? The unnerving answer is that you don’t! There’s a big semantic gap between highlevel languages and binary machine code that not many people know how to bridge. Even most programmers have limited knowledge of how their programs really work at the lowest level, and they simply trust that the compiled program is true to their intentions. As a result, many compiler bugs, subtle implementation errors, binarylevel backdoors, and malicious parasites can go unnoticed. To make matters worse, there are countless binary programs and libraries—in industry, at banks, in embedded systems—for which the source code is long lost or proprietary. That means it’s impossible to patch those programs and libraries or assess their security at the source level using conventional methods. This is a real problem even for major software companies, as evidenced by Microsoft’s recent release of a painstakingly handcrafted binary patch for a buffer overflow in its Equation Editor program, which is part of the Microsoft Office suite. In this book, you’ll learn how to analyze and even modify programs at the binary level. Whether you’re a hacker, a security researcher, a malware analyst, a programmer, or simply interested, these techniques will give you more control over and insight into the binary programs you create and use every day. Binary analysis is the science and art of analyzing the properties of binary computer programs, called binaries, and the machine code and data they contain. Briefly put, the goal of all binary analysis is to figure out (and possibly modify) the true properties of binary programs—in other words, what they really do as opposed to what we think they Many people associate binary analysis with reverse engineering and disassembly, and they’re at least partially correct. Disassembly is an important first step in many forms of binary analysis, and reverse engineering is a common application of binary analysis and is often the only way to document the behavior of proprietary software or malware. However, the field of binary analysis encompasses much more than this.

این کتاب را میتوانید بصورت رایگان از لینک زیر دانلود نمایید.

Download: PRACTICAL BINARY ANALYSIS

نظرات کاربران

  •  چنانچه دیدگاه شما توهین آمیز باشد تایید نخواهد شد.
  •  چنانچه دیدگاه شما جنبه تبلیغاتی داشته باشد تایید نخواهد شد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

بیشتر بخوانید