NAME

monodis - CIL image content dumper and disassembler.

SYNOPSIS

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...]

DESCRIPTION

The monodis program is used to dump the contents an ECMA/ISO CIL image (contained in .EXE files that contain extended PE/COFF CIL code).

To roundtrip assemblies using ilasm, it is best to use the --output argument, as that will make monodis save the embedded resources in files that can later be properly embedded back by ilasm.

Additionally, the tool can be used to dump the contents of the various ECMA CIL metadata tables.

OPTIONS

The following Generic options are supported:

--help , -h

Displays usage instructions.

--output=FILENAME

Write output into FILENAME and dump any embedded managed resources.

--mscorlib

For non-corlib assemblies, use "mscorlib" as the assembly name. This is useful for round-tripping the IL with ilasm.

--show-method-tokens

Display tokens for disassembled methods.

--show-tokens

Display tokens for strings, types, methods, fields, etc.

OPTIONS TO DISPLAY METADATA TABLES

The following options are used to display metadata tables instead of disassembling the CIL image.

--assembly

Dumps the contents of the Assembly table.

--assemblyref

Dumps the contents of the AssemblyRef table.

--classlayout

Dumps the contents of the ClassLayout table.

--constant

Dumps the contents of the Constant table.

--customattr

Dumps the contents of the CustomAttribute table.

--declsec

Dumps the contents of the DeclSec table.

--event

Dumps the contents of the Event table.

--exported

Dumps the contents of the ExportedType table.

--fields

Dumps the contents of the Field table.

--file

Dumps the contents of the File table.

--forward-decls

Dumps forward declarations for classes.

--genericpar

Dumps the contents of the GenericParam table.

--implmap

Dumps the contents of the ImplMap table.

--interface

Dumps the contents of the InterfaceImpl table.

--manifest

Dumps the contents of the ManifestResource table.

--marshal

Dumps the contents of the FieldMarshal table.

--memberref

Dumps the contents of the MemberRef table.

--method

Dumps the contents of the MethodDef table.

--methodimpl

Dumps the contents of the MethodImpl table.

--methodspec

Dumps the contents of the MethodSpec table.

--methodsem

Dumps the contents of the MethodSemantics table.

--module

Dumps the contents of the Module table.

--moduleref

Dumps the contents of the ModuleRef table.

--mresources

Saves all the managed resources embedded in the assembly into the current directory. To get a list of the embedded resources use the --manifest option.

--presources

Prints offsets and names of manifest resources embedded in the assembly.

--nested

Dumps the contents of the NestedClass table.

--param

Dumps the contents of the Param table.

--parconst

Dumps the contents of the GenericParameterConstraint table.

--property

Dumps the contents of the Property table.

--propertymap

Dumps the contents of the PropertyMap table.

--standalonesig

Dumps the contents of the StandAloneSig table.

--typedef

Dumps the contents of the TypeDef table.

--typespec

Dumps the contents of the TypeSpec table.

--typeref

Dumps the contents of the TypeRef table.

--blob

Dumps the entire contents of the blob stream as hex.

--strings

Dumps the contents of the Strings heap.

--userstrings

Dumps the contents of the User-Strings heap

If no flags are specified the program dumps the content of the image in a format that can be used to rountrip the code.

ENVIRONMENT VARIABLES

MONO_PATH

Provides a search path to mono and mint where to look for library files. Directories are separated by the platform path separator (colons on unix). Example: /home/username/lib:/usr/local/mono/lib

AUTHOR

monodis was written by Miguel de Icaza, Paolo Molaro and Dietmar Maurer.

SEE ALSO

pedump(1)