.NET assembly viewer wanted

I need a .NET assembly viewer that can display low-level details, such as the contents of metadata tables, etc.

+4
source share
6 answers

ildasm , the IL disassembler, has low-level metadata information. It installs as part of the Windows SDK when installing Visual Studio. It must be accessible from the VS command line.

When you open a managed assembly, press Ctrl + M or do a View "MetaInfo" Show! to view metadata tokens, for example:

  TypeDef # 1 (02000002)
 -------------------------------------------------- -----
     TypDefName: ConsoleApplication1.Program (02000002)
     Flags: [NotPublic] [AutoLayout] [Class] [AnsiClass] [BeforeFieldInit] (00100000)
     Extends: 01000001 [TypeRef] System.Object
     Method # 1 (06000001) [ENTRYPOINT]
     -------------------------------------------------- -----
         MethodName: Main (06000001)
         ...

There are also options for viewing the source metadata tables via ildasm /text /metadata=raw foo.dll :

  // ================================================= =
 // 25 (0x19): MethodImpl cRecs: 0 (0), cbRec: 6 (0x6), cbTable: 0 (0)
 // col 0: * Class oCol: 0, cbCol: 2, TypeDef
 // col 1: MethodBody oCol: 2, cbCol: 2, MethodDefOrRef
 // col 2: MethodDeclaration oCol: 4, cbCol: 2, MethodDefOrRef
 // ================================================= =
 // 26 (0x1a): ModuleRef cRecs: 0 (0), cbRec: 2 (0x2), cbTable: 0 (0)
 // col 0: Name oCol: 0, cbCol: 2, string 
 // ================================================= =
 // 27 (0x1b): TypeSpec cRecs: 0 (0), cbRec: 2 (0x2), cbTable: 0 (0)
 // col 0: Signature oCol: 0, cbCol: 2, blob  
 // ...
+7
source
+2
source

Reflector will do it. It will show resources as well as metadata information about methods, etc.

+1
source

There is a CFF Explorer application that displays metadata catalogs, a PE header, and all other useful materials.

Available from: http://www.ntcore.com/exsuite.php

+1
source

I think its already built into Visual Studio 2008 or use

Ndepend

NDepend is a Visual Studio tool for managing complex .NET code and achieving high quality code. With NDepend, software quality can be measured using code metrics.

Ndepend

-1
source

Source: https://habr.com/ru/post/1339324/


All Articles