Advertisement
Guest User

KeyValidator.cs

a guest
Jan 19th, 2014
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System.IO;
  2. using System.Management;
  3. using System.Net;
  4. using System.Security.Cryptography;
  5. using System.Text;
  6.  
  7. namespace LuaDecrypter
  8. {
  9.   public class KeyValidator
  10.   {
  11.     public const string KEY_FILE = "./luadecrypter.key";
  12.     private const string URL = "http://c1yd3i.com/license/check.php?code={0}&hwid={1}";
  13.     private const string SEED = "i am a closeted gay teenager";
  14.     private bool valid;
  15.  
  16.     private string MD5(string data)
  17.     {
  18.       if (data == "")
  19.         return "";
  20.       MD5CryptoServiceProvider cryptoServiceProvider = new MD5CryptoServiceProvider();
  21.       byte[] bytes = Encoding.UTF8.GetBytes(data);
  22.       byte[] hash = cryptoServiceProvider.ComputeHash(bytes);
  23.       cryptoServiceProvider.Clear();
  24.       StringBuilder stringBuilder = new StringBuilder();
  25.       foreach (byte num in hash)
  26.         stringBuilder.Append(num.ToString("x2").ToLower());
  27.       return ((object) stringBuilder).ToString();
  28.     }
  29.  
  30.     public void Validate(string key, bool createFile = false)
  31.     {
  32.       string requestUriString = string.Format("http://c1yd3i.com/license/check.php?code={0}&hwid={1}", (object) key, (object) this.GetID());
  33.       try
  34.       {
  35.         StreamReader streamReader = new StreamReader(WebRequest.Create(requestUriString).GetResponse().GetResponseStream());
  36.         this.valid = streamReader.ReadLine().Equals("true");
  37.         streamReader.Close();
  38.       }
  39.       catch
  40.       {
  41.         this.valid = false;
  42.       }
  43.       if (!this.valid || !createFile)
  44.         return;
  45.       StreamWriter streamWriter = new StreamWriter((Stream) new FileStream("./luadecrypter.key", FileMode.Create, FileAccess.Write));
  46.       streamWriter.Write(key);
  47.       streamWriter.Close();
  48.     }
  49.  
  50.     public void ValidateFromFile()
  51.     {
  52.       if (!System.IO.File.Exists("./luadecrypter.key"))
  53.         return;
  54.       StreamReader streamReader = new StreamReader((Stream) new FileStream("./luadecrypter.key", FileMode.Open, FileAccess.Read));
  55.       this.Validate(streamReader.ReadLine(), false);
  56.       streamReader.Close();
  57.     }
  58.  
  59.     private string GetID()
  60.     {
  61.       ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher("Select serialnumber From Win32_BaseBoard");
  62.       StringBuilder stringBuilder = new StringBuilder();
  63.       foreach (ManagementObject managementObject in managementObjectSearcher.Get())
  64.       {
  65.         if (managementObject["serialnumber"] != null)
  66.           stringBuilder.Append(managementObject["serialnumber"]);
  67.       }
  68.       return this.MD5(((object) stringBuilder).ToString() + "i am a closeted gay teenager");
  69.     }
  70.  
  71.     public bool IsValid()
  72.     {
  73.       return this.valid;
  74.     }
  75.   }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement