Example #1
0
 public DisassembledAssembly Disassemble(IncomingAssembly assembly, Configuration configuration)
 {
   ProcessRunner runner = new ProcessRunner();
   Pathname ilPath = assembly.Path.ChangeDirectory(configuration.OutputDirectory).ChangeExtension("il");
   runner.Run(configuration.IlDasmPath, "/NOBAR", assembly.Path.AsString, "/OUT:" + ilPath);
   return new DisassembledAssembly(ilPath, assembly.Type);
 }
Example #2
0
 public AssembledAssembly Assemble(DisassembledAssembly assembly, Configuration configuration)
 {
   ProcessRunner runner = new ProcessRunner();
   Pathname binaryPath = assembly.Path.ChangeDirectory(configuration.OutputDirectory).ChangeExtension(assembly.Type.ToExtension());
   runner.Run(configuration.IlAsmPath, assembly.Path.AsString, "/QUIET", "/DEBUG", assembly.Type.ToIlAsmArgument(), "/KEY:" + configuration.KeyFile.AsString);
   PublicKeyToken publicKeyToken = ReadAssemblyPublicKeyToken(binaryPath);
   return new AssembledAssembly(binaryPath, publicKeyToken);
 }
 public void SignAssemblies(IEnumerable<IncomingAssembly> assemblies, Configuration configuration)
 {
   foreach (IncomingAssembly incoming in assemblies)
   {
     Console.WriteLine("Disassembling " + incoming.Path.FileName);
     DisassembledAssembly disassembledAssembly = _disassembler.Disassemble(incoming, configuration);
     Console.WriteLine("Transforming");
     DisassembledIl il = _ilReader.Read(disassembledAssembly.Path);
     _ilWriter.Write(il, disassembledAssembly.Path);
     Console.WriteLine("Assembling");
     AssembledAssembly assembledAssembly = _assembler.Assemble(disassembledAssembly, configuration);
     _publicKeyTokenProvider.Add(assembledAssembly);
     Console.WriteLine("Done with " + incoming.Path.FileName);
   }
 }