1-) C# - Lisans sinifi hazır kullanabilirsin
public static string GetBiosSerialNumber() { string biosSerialNumber = string.Empty;
try { // Win32_BIOS sınıfından verileri alıyoruz ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_BIOS"); ManagementObjectCollection queryCollection = searcher.Get();
foreach (ManagementObject m in queryCollection) { // Seri numarasını alıyoruz biosSerialNumber = m["SerialNumber"]?.ToString(); break; // Genelde tek bir BIOS bilgisi dönecektir } } catch (Exception ex) { Console.WriteLine("Hata oluştu: " + ex.Message); }
return biosSerialNumber; }
public static string md5sifreGet() { string biosSerial = GetBiosSerialNumber().Trim();
|
1. Sabitler.cs
using System; using System.Management; using System.Net.Http; using System.Security.Cryptography; using System.Text; namespace namespcaim.com { public class Sabitler { public static bool GetLisans(string lisansKey) { try { string url = "http://ipadresi.com/api/GenelLisans/getLisans"; string jsonData = $"{{ \"lisansKey\": \"{lisansKey}\" }}"; using (HttpClient client = new HttpClient()) { var content = new StringContent(jsonData, Encoding.UTF8, "application/json"); HttpResponseMessage response = client.PostAsync(url, content).GetAwaiter().GetResult(); if (response.IsSuccessStatusCode) { string responseString = response.Content.ReadAsStringAsync().GetAwaiter().GetResult(); if (responseString.Contains("true")) { return true; } } } } catch { return false; } return false; } public static string cpuidGet() { var cpuid = string.Empty; string sQuery = "SELECT ProcessorId FROM Win32_Processor"; ManagementObjectSearcher oManagementObjectSearcher = new ManagementObjectSearcher(sQuery); ManagementObjectCollection oCollection = oManagementObjectSearcher.Get(); foreach (ManagementObject oManagementObject in oCollection) { cpuid = (string)oManagementObject["ProcessorId"]; break; } return cpuid; } public static string hddserialGet() { var hddserial = string.Empty; ManagementObject dsk = new ManagementObject(@"win32_logicaldisk.deviceid=""c:"""); dsk.Get(); hddserial = dsk["VolumeSerialNumber"].ToString(); return hddserial; } public static string motherboardserialGet() { var motherboardserial = string.Empty; ManagementObjectSearcher mos = new ManagementObjectSearcher("SELECT * FROM Win32_BaseBoard"); ManagementObjectCollection moc = mos.Get(); foreach (ManagementObject mo in moc) { motherboardserial = (string)mo["SerialNumber"]; break; } return motherboardserial; } static string key = "sizinsifrenizunique"; public static string md5sifreGet() { string anahtar = cpuidGet().Trim() + " " + hddserialGet().Trim() + " " + motherboardserialGet().Trim() + key; anahtar = Md5Sifrele(anahtar); anahtar = Md5Sifrele(anahtar); anahtar = Md5Sifrele(anahtar); return anahtar; } public static bool md5Coz(string sifre) { if (sifre.Equals(md5sifreGet())) { return true; } return false; } public static string Md5Sifrele(string str) { string result = string.Empty; try { MD5CryptoServiceProvider mD5CryptoServiceProvider = new MD5CryptoServiceProvider(); byte[] bytes = Encoding.ASCII.GetBytes(str); byte[] array = mD5CryptoServiceProvider.ComputeHash(bytes); int capacity = (int)Math.Round((double)(array.Length * 3) + (double)array.Length / 8); StringBuilder stringBuilder = new StringBuilder(capacity); int num = array.Length - 1; for (int i = 0; i <= num; i++) { stringBuilder.Append(BitConverter.ToString(array, i, 1)); } result = stringBuilder.ToString().TrimEnd(new char[] { ' ' }); } catch (Exception) { } return result; } } }
|
2. KULLANIMI
private void Form1_Load(object sender, EventArgs e) { string sifre = Sabitler.md5sifreGet();
bool lisansVarmi = Sabitler.GetLisans(sifre);
if (lisansVarmi==false) { Clipboard.SetText(sifre);
MessageBox.Show(sifre + Environment.NewLine + "Key kopyalandı. Yöneticiye iletin.");
this.Close(); } else { cefInit(); }
}
|