Mono(Mono 1.1.x) Mono(Mono 1.1.x)

monodis - استخراج‌کننده محتوا و واسرهم‌ساز تصاویر CIL

monodis [-h] [--help] [--output=FILENAME] [--mscorlib] [--assembly] [--assemblyref] [--classlayout] [--constant] [--customattr] [--declsec] [--event] [--exported] [--fields] [--file] [--forward-decls] [--genericpar] [--implmap] [--interface] [--manifest] [--marshal] [--memberref] [--method] [--methodimpl] [--methodsem] [--methodspec] [--module] [--moduleref] [--mresources] [--presources] [--nested] [--param] [--parconst] [--property] [--propertymap] [--standalonesig] [--typedef] [--typeref] [--typespec] [--blob] [--strings] [--userstrings] [FILES...]

برنامه monodis برای استخراج (dump) محتوای یک تصویر ECMA/ISO CIL (موجود در فایل‌های .EXE که حاوی کد توسعه‌یافته PE/COFF CIL هستند) استفاده می‌شود.

برای رفت‌وبرگشت (roundtrip) اسمبلی‌ها با استفاده از ilasm، بهتر است از شناسه --output استفاده کنید، زیرا این کار باعث می‌شود monodis منابع تعبیه‌شده را در فایل‌هایی ذخیره کند که بعداً بتوانند به درستی توسط ilasm مجدداً تعبیه شوند.

علاوه بر این، این ابزار می‌تواند برای استخراج محتوای جدول‌های مختلف فراداده (metadata) در ECMA CIL استفاده شود.

گزینه‌های عمومی زیر پشتیبانی می‌شوند:

دستورالعمل‌های نحوه استفاده را نمایش می‌دهد.
خروجی را در FILENAME می‌نویسد و منابع مدیریت‌شده تعبیه‌شده را استخراج می‌کند.
برای اسمبلی‌های غیر corlib، از "mscorlib" به عنوان نام اسمبلی استفاده می‌کند. این گزینه برای رفت‌وبرگشت IL با ilasm مفید است.
توکن‌ها را برای متدهای واسرهم‌شده نمایش می‌دهد.
توکن‌ها را برای رشته‌ها، نوع‌ها، متدها، فیلدها و غیره نمایش می‌دهد.

گزینه‌های زیر برای نمایش جدول‌های فراداده به جای واسرهم‌سازی تصویر CIL استفاده می‌شوند.

محتوای جدول Assembly را استخراج می‌کند.
محتوای جدول AssemblyRef را استخراج می‌کند.
محتوای جدول ClassLayout را استخراج می‌کند.
محتوای جدول Constant را استخراج می‌کند.
محتوای جدول CustomAttribute را استخراج می‌کند.
محتوای جدول DeclSec را استخراج می‌کند.
محتوای جدول Event را استخراج می‌کند.
محتوای جدول ExportedType را استخراج می‌کند.
محتوای جدول Field را استخراج می‌کند.
محتوای جدول File را استخراج می‌کند.
اعلان‌های رو به جلو (forward declarations) را برای کلاس‌ها استخراج می‌کند.
محتوای جدول GenericParam را استخراج می‌کند.
محتوای جدول ImplMap را استخراج می‌کند.
محتوای جدول InterfaceImpl را استخراج می‌کند.
محتوای جدول ManifestResource را استخراج می‌کند.
محتوای جدول FieldMarshal را استخراج می‌کند.
محتوای جدول MemberRef را استخراج می‌کند.
محتوای جدول MethodDef را استخراج می‌کند.
محتوای جدول MethodImpl را استخراج می‌کند.
محتوای جدول MethodSpec را استخراج می‌کند.
محتوای جدول MethodSemantics را استخراج می‌کند.
محتوای جدول Module را استخراج می‌کند.
محتوای جدول ModuleRef را استخراج می‌کند.
تمام منابع مدیریت‌شده تعبیه‌شده در اسمبلی را در دایرکتوری جاری ذخیره می‌کند. برای دریافت فهرستی از منابع تعبیه‌شده، از گزینه --manifest استفاده کنید.
آفست‌ها و نام‌های منابع مانیفست تعبیه‌شده در اسمبلی را چاپ می‌کند.
محتوای جدول NestedClass را استخراج می‌کند.
محتوای جدول Param را استخراج می‌کند.
محتوای جدول GenericParameterConstraint را استخراج می‌کند.
محتوای جدول Property را استخراج می‌کند.
محتوای جدول PropertyMap را استخراج می‌کند.
محتوای جدول StandAloneSig را استخراج می‌کند.
محتوای جدول TypeDef را استخراج می‌کند.
محتوای جدول TypeSpec را استخراج می‌کند.
محتوای جدول TypeRef را استخراج می‌کند.
کل محتوای جریان باینری (blob stream) را به صورت هگزادسیمال استخراج می‌کند.
محتوای هیپ رشته‌ها (Strings heap) را استخراج می‌کند.
محتوای هیپ رشته‌های کاربر (User-Strings heap) را استخراج می‌کند.

اگر هیچ گزینه‌ای مشخص نشود، برنامه محتوای تصویر را در قالبی استخراج می‌کند که می‌تواند برای رفت‌وبرگشت کد استفاده شود.

مسیر جستجویی را برای mono و mint فراهم می‌کند تا به دنبال فایل‌های کتابخانه بگردند. پوشه‌ها با جداکننده مسیر پلتفرم (دونقطه در یونیکس) از هم جدا می‌شوند. مثال: /home/username/lib:/usr/local/mono/lib

ابزار monodis توسط Miguel de Icaza، Paolo Molaro و Dietmar Maurer نوشته شده است.

pedump(1)