NGWS SDK Documentation  

This is preliminary documentation and subject to change.
To comment on this topic, please send us email at ngwssdk@microsoft.com. Thanks!

NGWS Runtime IL Disassembler (ildasm.exe)

Ildasm is a companion tool to the NGWS Runtime IL Assembler (ilasm.exe). Ildasm takes a portable executable (PE) file containing IL code and creates a text file suitable as input to the IL Assembler. This ability to round trip code can be useful, for example, when compiling code in a programming language that doesn’t support all of the runtime metadata attributes. The code can be compiled, then the output run through ildasm, and the resulting IL text file can be hand edited to add the missing attributes. This can then be run through the IL Assembler to produce a final runnable file.

Note   Note that at the present time, PE files produced by Visual C++ can't be round-tripped using ildasm.

Syntax

ildasm [options] PEfilename [options]

Options for .exe, .dll, .obj, and .lib files:

Option Description
/OUT=filename Creates a file (with the specified filename) for output, rather than simply presenting the output results in a dialog box.
/TEXT Presents the output results in a console window, rather than a file or a dialog box.

Additional options for .exe and .dll files:

Option Description
/OWNER=ownername Sets the owner's name to disassemble a protected file. The owner's name is required if the name was set when the file was assembled (using the Ilasm tool).
/BYTES Show actual bytes, in hex, as instruction comments.
/RAWEH Show exception handling clauses in raw form.
/TOKENS Show metadata tokens of classes and members.
/SOURCE Show original source lines as comments.
/LINENUM Include references to original source lines.
/VISIBILITY=vis [+vis …] Only disassembles types or members with the specified visibility. Valid values for vis are: PUB, PRI, FAM, ASM, FAA, FOA, and PSC.
/PUBONLY Only disassembles public types and members. Equivalent to /VISIBILITY=PUB.
/QUOTEALLNAMES Include all names in single quotes.
/NOBAR Suppress disassembly progress bar pop-up.

For .exe and .dll files, console output only (if /OUT is specified):

Option Description
/NOIL Suppress IL assembly code output.
/HEADER Include file header information in the output.
/ALL Combination of /HEADER, /BYTES, /TOKENS.

For .exe, dll, .obj, and .lib files, console output only (if /OUT is specified):

Option Description
/ITEM=class [::method sig] Disassembles the specified item only.

For .lib files, console output only (if /OUT is specified):

Option Description
/OBJECTFILE=filename Show metadata of a specific object file in a library.

Option key is '-' or '/'.

All ILASM and ILDASM options are recognized by first three letters, so /NOL equals /NOLISTING, /RES=myresfile.res equals /RESOURCE=myresfile.res, etc. The options are case-insensitive.

See Also

NGWS Runtime IL Assembler