Guest User

Untitled

a guest
Oct 23rd, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.IO;
  6. using System.Diagnostics;
  7. using System.Windows.Forms;
  8.  
  9. namespace uObfuscator.Obfuscator_Engine.Tools
  10. {
  11. public static class ILMergeWrapper
  12. {
  13. public static void Merge(string baseFile, string[] assemblies)
  14. {
  15. string fileName = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86) + "\\Microsoft\\ILMerge\\ILMerge.exe";
  16.  
  17. if (!File.Exists(fileName))
  18. return;
  19.  
  20.  
  21. StringBuilder paramBuilder = new StringBuilder();
  22.  
  23. paramBuilder.Append("/target:winexe ");
  24. paramBuilder.Append(string.Format(@"/out:""{0}"" ", baseFile.Remove(baseFile.Length - 4) + "_MERGED.exe"));
  25. paramBuilder.Append(string.Format(@"""{0}"" ", baseFile));
  26.  
  27. foreach (string strName in assemblies)
  28. paramBuilder.Append(String.Format(@"""{0}"" ", strName));
  29.  
  30. Process p = new Process();
  31.  
  32. p.StartInfo.CreateNoWindow = false;
  33. p.StartInfo.Arguments = paramBuilder.ToString().TrimEnd(' ');
  34. p.StartInfo.FileName = fileName;
  35.  
  36. p.Start();
  37.  
  38. p.WaitForExit();
  39.  
  40. File.Delete(ObfGlobals.asmPath);
  41. }
  42.  
  43. }
  44. }
Add Comment
Please, Sign In to add comment