Esempio n. 1
0
        public void Decompile(Stream assemblyStream, TextWriter codeWriter)
        {
            var assembly = AssemblyDefinition.ReadAssembly(assemblyStream);
            //#if DEBUG
            //assembly.Write(@"d:\Temp\assembly\" + System.DateTime.Now.Ticks + "-il.dll");
            //#endif

            var output       = new SpaceIndentingPlainTextOutput(codeWriter);
            var disassembler = new ReflectionDisassembler(output, CancellationToken.None);

            disassembler.WriteModuleContents(assembly.MainModule);
        }
Esempio n. 2
0
        private void DecompileDllToIl(string dllFile, string ilPath)
        {
            var writer       = File.CreateText(ilPath);
            var output       = new SpaceIndentingPlainTextOutput(writer);
            var disassembler = new ReflectionDisassembler(output, CancellationToken.None)
            {
                ShowSequencePoints = true
            };
            var assemblyFile = new PEFile(dllFile);

            disassembler.WriteModuleContents(assemblyFile);
            writer.Close();
        }
Esempio n. 3
0
        public void Decompile(CompilationStreamPair streams, TextWriter codeWriter)
        {
            Argument.NotNull(nameof(streams), streams);
            Argument.NotNull(nameof(codeWriter), codeWriter);

            using (var assemblyFile = new PEFile("", streams.AssemblyStream))
                using (var debugInfo = streams.SymbolStream != null ? _debugInfoFactory(streams.SymbolStream) : null) {
                    //#if DEBUG
                    //assembly.Write(@"d:\Temp\assembly\" + System.DateTime.Now.Ticks + "-il.dll");
                    //#endif

                    var output       = new SpaceIndentingPlainTextOutput(codeWriter);
                    var disassembler = new ReflectionDisassembler(output, CancellationToken.None)
                    {
                        DebugInfo          = debugInfo,
                        ShowSequencePoints = true
                    };
                    disassembler.WriteModuleContents(assemblyFile);
                }
        }
Esempio n. 4
0
        public void Decompile(CompilationStreamPair streams, TextWriter codeWriter)
        {
            Argument.NotNull(nameof(streams), streams);
            Argument.NotNull(nameof(codeWriter), codeWriter);

            var assembly = AssemblyDefinition.ReadAssembly(streams.AssemblyStream, new ReaderParameters {
                ReadSymbols          = streams.SymbolStream != null,
                SymbolStream         = streams.SymbolStream,
                SymbolReaderProvider = streams.SymbolStream != null ? _symbolReaderProvider : null
            });
            //#if DEBUG
            //assembly.Write(@"d:\Temp\assembly\" + System.DateTime.Now.Ticks + "-il.dll");
            //#endif

            var output       = new SpaceIndentingPlainTextOutput(codeWriter);
            var disassembler = new ReflectionDisassembler(output, CancellationToken.None)
            {
                ShowSequencePoints = true
            };

            disassembler.WriteModuleContents(assembly.MainModule);
        }