Esempio n. 1
0
        public static void DumpModule(MetadataTables tables)
        {
            ModuleDef md = tables.ModuleDef;

            _output.WriteLine("Module:");
            _output.WriteLine("  {0} {1}", md.Name, md.Mvid);

            AssemblyDef adef = tables.AssemblyDef;

            if (!adef.Record.IsNull)
            {
                _output.WriteLine("AssemblyDef:");
                _output.WriteLine("  {0} {1} {2} {3} {4} {5}",
                                  adef.Name, adef.Version, adef.Culture, adef.NameFlags, adef.HashAlgorithm, BitConverter.ToString(adef.GetPublicKey())
                                  );
            }

            if (tables.AssemblyRefs.GetCount() > 0)
            {
                _output.WriteLine("AssemblyRefs:");
                foreach (AssemblyRef a in tables.AssemblyRefs)
                {
                    _output.WriteLine("  {0} {1} {2} {3} {4} {5}",
                                      a.Name, a.Version, a.Culture, a.NameFlags, BitConverter.ToString(a.GetHashValue()), BitConverter.ToString(a.GetPublicKeyOrToken())
                                      );
                }
            }

            if (tables.Files.GetCount() > 0)
            {
                _output.WriteLine("Files:");
                foreach (FileDef fd in tables.Files)
                {
                    _output.WriteLine("  {0} {1} {2}",
                                      fd.Name, fd.Attributes, BitConverter.ToString(fd.GetHashValue())
                                      );
                }
            }

            if (tables.ManifestResources.GetCount() > 0)
            {
                _output.WriteLine("ManifestResources:");
                foreach (ManifestResourceDef resource in tables.ManifestResources)
                {
                    _output.WriteLine("  {0} {1} {2} 0x{3:X8}",
                                      resource.Name, resource.Attributes, ImplementationToString(resource.Implementation), resource.Offset
                                      );
                }
            }

            _output.WriteLine(new String('-', 50));
        }