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
| Command | Description |
|---|---|
summary | Assembly identity and statistics |
metadata | All 31 metadata tables |
typedef, methoddef, fielddef, ... | Individual table display (31 tables) |
il | IL disassembly for all methods |
deps | Assembly, type, and member references |
heap | Heap 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 |
public | Toggle public-only mode |
json | Toggle JSON output |
help | List 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?