1-) C# RMOS - lisans olusturma md5 ile
using System;
using System.Management;
using System.Security.Cryptography;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// System.Management nugetten indir
public 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 string hddserialGet()
{
var hddserial = string.Empty;
ManagementObject dsk = new ManagementObject(@"win32_logicaldisk.deviceid=""c:""");
dsk.Get();
hddserial = dsk["VolumeSerialNumber"].ToString();
return hddserial;
}
public 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;
}
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = "cpuid : ";
textBox1.Text += cpuidGet() + "\r\n";
textBox1.Text += "hddserial : " + hddserialGet() + "\r\n";
textBox1.Text += "motherboardserial : " + motherboardserialGet() + "\r\n" +"\r\n";
textBox1.Text += "md5sifre : " + md5sifreGet() ;
System.IO.File.WriteAllText(@"lisans.txt", md5sifreGet());
MessageBox.Show("lisans.txt Oluşturuldu.");
}
public string md5sifreGet()
{
string anahtar = cpuidGet().Trim() + " " + hddserialGet().Trim() + " " + motherboardserialGet().Trim()+"ZKLM"; // ZKLM kendim ekledim
anahtar = Md5Sifrele(anahtar);
anahtar = Md5Sifrele(anahtar); // iki kere md5 e yolladım zorlansın
anahtar = Md5Sifrele(anahtar); // 3 kere md5 e yolladım zorlansın
return anahtar;
}
public bool md5Coz(string sifre) // 2F7E02D075A7003756C0B9B05FE80E9B
{
if (sifre.Equals(md5sifreGet()))
{
return true;
}
return false;
}
public static string Md5Sifrele(string str) // Md5 Şifreleme algoritması
{
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;
}
private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show(md5Coz(textBox2.Text)+"");
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode==Keys.F11)
{
}
}
}
}