Esempio n. 1
0
 internal BfAssembly(BfCache cache, AssemblyDefinition assemblyDef, bool isCoreAssembly, string rootDirectory)
 {
     this.int_0 = cache.method_15();
     this.assemblyDefinition_0 = assemblyDef;
     this.string_1             = assemblyDef.Name.Name;
     this.bool_0   = isCoreAssembly;
     this.string_0 = this.assemblyDefinition_0.Name.Version.ToString();
     try
     {
         PdbFactory pdbFactory = new PdbFactory();
         string     text       = Path.Combine(rootDirectory, this.assemblyDefinition_0.Name.Name + ".dll");
         if (System.IO.File.Exists(text))
         {
             this.isymbolReader_0 = pdbFactory.CreateReader(null, text);
         }
         text = Path.Combine(rootDirectory, this.assemblyDefinition_0.Name.Name + ".exe");
         if (System.IO.File.Exists(text))
         {
             this.isymbolReader_0 = pdbFactory.CreateReader(null, text);
         }
     }
     catch (Exception ex)
     {
         Logger.LogWarning("AssemblyConstructor", "Something went wrong " + ex.ToString());
     }
 }
 public void loadAndMapSymbols(AssemblyDefinition assemblyDefinition, string assemblyPath, bool decompileCodeIfNoPdb, string pathToSaveDecompiledSourceCode)
 {
     try
     {
         if (assemblyPath != null)
         {
             var pdbFile = assemblyPath.Replace(Path.GetExtension(assemblyPath), ".pdb");
             if (File.Exists(pdbFile))
             {
                 string           unit    = assemblyPath;
                 ModuleDefinition modDef  = assemblyDefinition.MainModule;
                 var           pdbFactory = new PdbFactory();
                 ISymbolReader reader     = pdbFactory.CreateReader(modDef, unit);
                 modDef.LoadSymbols(reader);
             }
             else
             {
                 if (decompileCodeIfNoPdb)
                 {
                     new CecilDecompiler().decompile(assemblyDefinition, pathToSaveDecompiledSourceCode);
                 }
             }
         }
     }
     catch (Exception ex)
     {
         PublicDI.log.error("in loadAndMapSymbols: {0]", ex.Message);
     }
 }
Esempio n. 3
0
        public SymbolEngine(string assemblyPath)
        {
            AssemblyDefinition assemblyDef = AssemblyFactory.GetAssembly(assemblyPath);

            m_moduleDef = assemblyDef.MainModule;
            PdbFactory    factory = new PdbFactory();
            ISymbolReader reader  = factory.CreateReader(m_moduleDef, assemblyPath);

            m_moduleDef.LoadSymbols(reader);
        }