Assembly Inspector Enterprise

The inspect command is a full ECMA-335 metadata inspector built into Demeanor. It displays all 31 metadata tables, IL disassembly, typed signatures, and heap sizes. Use it to verify obfuscation results, investigate assembly composition, or debug metadata issues — without installing separate tools.

One-Shot Mode

demeanor inspect MyApp.dll --summary
demeanor inspect MyApp.dll --table typedef --table fielddef
demeanor inspect MyApp.dll --metadata --filter Calculator
demeanor inspect MyApp.dll --il --public-only
demeanor inspect MyApp.dll --table constant --json

Interactive REPL

Launch without flags to enter interactive mode with a context-aware prompt:

$ demeanor inspect MyApp.dll
Inspecting: MyApp (MyApp.dll)
Type 'help' for available commands, 'quit' to exit.

inspect> typedef
=== TypeDef (52 rows) ===
  [   1] internal class <Module>
  [   2] public class a : System.Object
  ...

inspect:typedef> filter Calculator
  filter: "Calculator"

inspect:typedef> find Dispose
Searching for 'Dispose'...
  MethodDef            [  42] a.a.b (was IDisposable.Dispose)
  MemberRef            [  17] System.IDisposable::Dispose
  2 match(es) found.

inspect> type a
=== a ===
  Flags:      Public
  Base:       System.Object
  Fields: (3)
    [  1] private decimal m_a : System.Decimal
    ...
  Methods: (7)
    ...

inspect> method a.b
=== a::b ===
  Return:     System.Void
  IL:
    IL_0000: ldarg.0
    ...

Available Commands

CommandDescription
summaryAssembly identity and statistics
metadataAll 31 metadata tables
typedef, methoddef, fielddef, ...Individual table display (31 tables)
ilIL disassembly for all methods
depsAssembly, type, and member references
heapHeap sizes (#Strings, #US, #Blob, #GUID)
type <name>Full type detail (fields, methods, properties, interfaces, attributes)
method <name>Full method detail (typed signature, params, IL, exception handlers)
find <text>Cross-table name search
filter <pattern>Sticky name filter
publicToggle public-only mode
jsonToggle JSON output
helpList all commands

CLI --table Option

Use --table (repeatable) to display specific tables in one-shot mode:

demeanor inspect MyApp.dll --table typedef --table methodimpl --table constant

Table names: typedef methoddef fielddef paramdef typeref memberref assemblyref typespec methodspec interfaceimpl customattr property event constant genericparam nestedclass resource methodsemantics methodimpl standsig propertymap eventmap moduleref implmap classlayout fieldlayout fieldrva fieldmarshal declsecurity exportedtype file

Ready to protect your .NET code?

View Pricing All Options