monodis - CIL image content dumper and disassembler.
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...]
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.
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.
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.
- 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
monodis was written by Miguel de Icaza, Paolo Molaro and Dietmar Maurer.
pedump(1)