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); }
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(); }
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); } }
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); }