دیساسمبلر: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
جز ربات ردهٔ همسنگ (۳۰) +مرتب (۱۴.۹ core): + رده:مهندسی معکوس |
FreshmanBot (بحث | مشارکتها) جز اصلاح فاصله مجازی + اصلاح نویسه با ویرایشگر خودکار فارسی |
||
خط ۲:
'''دیس اسمبلر''' {{به انگلیسی|Disassembler}} برنامهای کامپیوتری است که [[زبان ماشین]] را به [[زبان اسمبلی]] ترجمه میکند، عملیات معکوس آن از یک اسمبلر است.
یک دیس اسمبلر با دی کامپایلر تفاوتهایی دارد که هدف یک زبان سطح بالا به جای زبان اسمبلی است. جداسازی قطعات، خروجی از یک اسمبلر اغلب برای انسان فرمت بندی
[[کد منبع]] زبان اسمبلی بهطور کلی مجاز به استفاده از ثابتها و نظرات [[برنامهنویس]] است؛ که اینها معمولاً از [[کد زبان]] ماشین گردآوری شده توسط اسمبلر حذف میشود. در اینصورت، عامل دیس اسمبلر در کد ماشین، قطعات جداسازی تولید شده فاقد این ثباتها و نظرات میگردد؛ خروجی دیس اسمبل شده جدا دشوارتر میشود برای انسان که آن را به کد منبع تفسیر شده اصل ترجمه کند. برخی دیس اسمبلرها امکان استفاده از اطلاعات [[اشکال زدایی]] نمادین را در فایلهای شی(object file) مانندELF را میدهد. محاوره اسمبلر اجازه میدهد به کاربر انسان تا کاراکتر حافظهای برای
جداسازی قطعات یک علم دقیق نیست:در [[سیستم عامل]] هایCISC با دستورالعمل متغیر عرض، ویا در صورت وجود کد خود متغیر، ممکن است برای یک برنامه واحد به دو یا تعداد بیشتری جداسازی قطعات معقول تر نیاز پیدا کنیم. تعیین دستورالعمل که در واقع مواجه شدهاست در طی یک اجرا از این برنامه ثبات قابل حل را به مشکل توقف شده کاهش میدهد.
خط ۱۲:
== نمونههایی از دیس اسمبلرها ==
اسمبلر ممکن است به تنهایی یا تعاملی باشد. یک دی اسمبلر مستقل به هنگام اجرا یک فایل زبان اسمبلی تولید میکند که میتواند مورد بررسی قرار گیرد. یک تعاملی نشان میدهد تأثیر دو گونه تغییر کاربر را فوراً. به عنوان مثال، اسمبلر ممکن است در ابتدا نمیدانند که یک بخش از برنامه است که در واقع کد و درمان آن را به عنوان داده. در صورتی که کاربر مشخص میکند که در آن فعال است، در نتیجه کد جدا
IDA
|